{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Python Pandas Tutorial: A Complete Introduction for Beginners"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The *pandas* package is the most important tool at the disposal of Data Scientists and Analysts working in Python today. The powerful machine learning and glamorous visualization tools may get all the attention, but pandas is the backbone of most data projects. \n",
    "\n",
    ">\\[*pandas*\\] is derived from the term \"**pan**el **da**ta\", an econometrics term for data sets that include observations over multiple time periods for the same individuals. — [Wikipedia](https://en.wikipedia.org/wiki/Pandas_%28software%29)\n",
    "\n",
    "If you're thinking about data science as a career, then it is imperative that one of the first things you do is learn pandas. In this post, we will go over the essential bits of information about pandas, including how to install it, its uses, and how it works with other common Python data analysis packages such as **matplotlib** and **sci-kit learn**."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<img src=\"assets/the-rise-in-popularity-of-pandas.png\" width=500px />"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## What's Pandas for?\n",
    "\n",
    "Pandas has so many uses that it might make sense to list the things it can't do instead of what it can do. \n",
    "\n",
    "This tool is essentially your data’s home. Through pandas, you get acquainted with your data by cleaning, transforming, and analyzing it. \n",
    "\n",
    "For example, say you want to explore a dataset stored in a CSV on your computer. Pandas will extract the data from that CSV into a DataFrame — a table, basically — then let you do things like:\n",
    "\n",
    "- Calculate statistics and answer questions about the data, like\n",
    "\n",
    "\n",
    "    - What's the average, median, max, or min of each column? \n",
    "    - Does column A correlate with column B?\n",
    "    - What does the distribution of data in column C look like?\n",
    "\n",
    "\n",
    "- Clean the data by doing things like removing missing values and filtering rows or columns by some criteria\n",
    "\n",
    "\n",
    "- Visualize the data with help from Matplotlib. Plot bars, lines, histograms, bubbles, and more. \n",
    "\n",
    "\n",
    "- Store the cleaned, transformed data back into a CSV, other file or database\n",
    "\n",
    "\n",
    "Before you jump into the modeling or the complex visualizations you need to have a good understanding of the nature of your dataset and pandas is the best avenue through which to do that.\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## How does pandas fit into the data science toolkit?\n",
    "\n",
    "Not only is the pandas library a central component of the data science toolkit but it is used in conjunction with other libraries in that collection. \n",
    "\n",
    "Pandas is built on top of the **NumPy** package, meaning a lot of the structure of NumPy is used or replicated in Pandas. Data in pandas is often used to feed statistical analysis in **SciPy**, plotting functions from **Matplotlib**, and machine learning algorithms in **Scikit-learn**.\n",
    "\n",
    "Jupyter Notebooks offer a good environment for using pandas to do data exploration and modeling, but pandas can also be used in text editors just as easily.\n",
    "\n",
    "Jupyter Notebooks give us the ability to execute code in a particular cell as opposed to running the entire file. This saves a lot of time when working with large datasets and complex transformations. Notebooks also provide an easy way to visualize pandas’ DataFrames and plots. As a matter of fact, this article was created entirely in a Jupyter Notebook.\n",
    "\n",
    "## When should you start using pandas?\n",
    "\n",
    "If you do not have any experience coding in Python, then you should stay away from learning pandas until you do. You don’t have to be at the level of the software engineer, but you should be adept at the basics, such as lists, tuples, dictionaries, functions, and iterations. Also, I’d also recommend familiarizing yourself with **NumPy** due to the similarities mentioned above.\n",
    "\n",
    "If you're looking for a good place to learn Python, [Python for Everybody](https://www.learndatasci.com/out/coursera-programming-everybody-getting-started-python/) on Coursera is great (and Free).\n",
    "\n",
    "Moreover, for those of you looking to do a [data science bootcamp](https://www.learndatasci.com/articles/thinkful-data-science-online-bootcamp-review/) or some other accelerated data science education program, it's highly recommended you start learning pandas on your own before you start the program. \n",
    "\n",
    "Even though accelerated programs teach you pandas, better skills beforehand means you'll be able to maximize time for learning and mastering the more complicated material."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Pandas First Steps\n",
    "\n",
    "### Install and import\n",
    "Pandas is an easy package to install. Open up your terminal program (for Mac users) or command line (for PC users) and install it using either of the following commands:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`conda install pandas`\n",
    "\n",
    "OR \n",
    "\n",
    "`pip install pandas`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Alternatively, if you're currently viewing this article in a Jupyter notebook you can run this cell:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "!pip install pandas"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The `!` at the beginning runs cells as if they were in a terminal.\n",
    "\n",
    "To import pandas we usually import it with a shorter name since it's used so much:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now to the basic components of pandas."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Core components of pandas: Series and DataFrames\n",
    "\n",
    "The primary two components of pandas are the `Series` and `DataFrame`. \n",
    "\n",
    "A `Series` is essentially a column, and a `DataFrame` is a multi-dimensional table made up of a collection of Series. \n",
    "\n",
    "<img src=\"assets/series-and-dataframe.png\" width=600px />\n",
    "\n",
    "DataFrames and Series are quite similar in that many operations that you can do with one you can do with the other, such as filling in null values and calculating the mean.\n",
    "\n",
    "You'll see how these components work when we start working with data below. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Creating DataFrames from scratch\n",
    "Creating DataFrames right in Python is good to know and quite useful when testing new methods and functions you find in the pandas docs.\n",
    "\n",
    "There are *many* ways to create a DataFrame from scratch, but a great option is to just use a simple `dict`. \n",
    "\n",
    "Let's say we have a fruit stand that sells apples and oranges. We want to have a column for each fruit and a row for each customer purchase. To organize this as a dictionary for pandas we could do something like:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = {\n",
    "    'apples': [3, 2, 0, 1], \n",
    "    'oranges': [0, 3, 7, 2]\n",
    "}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And then pass it to the pandas DataFrame constructor:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>apples</th>\n",
       "      <th>oranges</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   apples  oranges\n",
       "0       3        0\n",
       "1       2        3\n",
       "2       0        7\n",
       "3       1        2"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "purchases = pd.DataFrame(data)\n",
    "\n",
    "purchases"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**How did that work?**\n",
    "\n",
    "Each *(key, value)* item in `data` corresponds to a *column* in the resulting DataFrame.\n",
    "\n",
    "The **Index** of this DataFrame was given to us on creation as the numbers 0-3, but we could also create our own when we initialize the DataFrame. \n",
    "\n",
    "Let's have customer names as our index: "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>apples</th>\n",
       "      <th>oranges</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>June</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Robert</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Lily</th>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>David</th>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        apples  oranges\n",
       "June         3        0\n",
       "Robert       2        3\n",
       "Lily         0        7\n",
       "David        1        2"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "purchases = pd.DataFrame(data, index=['June', 'Robert', 'Lily', 'David'])\n",
    "\n",
    "purchases"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "So now we could **loc**ate a customer's order by using their name:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "apples     3\n",
       "oranges    0\n",
       "Name: June, dtype: int64"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "purchases.loc['June']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "There's more on locating and extracting data from the DataFrame later, but now you should be able to create a DataFrame with any random data to learn on.\n",
    "\n",
    "Let's move on to some quick methods for creating DataFrames from various other sources."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## How to read in data\n",
    "\n",
    "It’s quite simple to load data from various file formats into a DataFrame. In the following examples we'll keep using our apples and oranges data, but this time it's coming from various files."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Reading data from CSVs\n",
    "\n",
    "With CSV files all you need is a single line to load in the data:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>apples</th>\n",
       "      <th>oranges</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>June</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Robert</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Lily</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>David</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  Unnamed: 0  apples  oranges\n",
       "0       June       3        0\n",
       "1     Robert       2        3\n",
       "2       Lily       0        7\n",
       "3      David       1        2"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv('purchases.csv')\n",
    "\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "CSVs don't have indexes like our DataFrames, so all we need to do is just designate the `index_col` when reading:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>apples</th>\n",
       "      <th>oranges</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>June</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Robert</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Lily</th>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>David</th>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        apples  oranges\n",
       "June         3        0\n",
       "Robert       2        3\n",
       "Lily         0        7\n",
       "David        1        2"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv('purchases.csv', index_col=0)\n",
    "\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here we're setting the index to be column zero.\n",
    "\n",
    "You'll find that most CSVs won't ever have an index column and so usually you don't have to worry about this step.\n",
    "\n",
    "### Reading data from JSON\n",
    "\n",
    "If you have a JSON file — which is essentially a stored Python `dict` — pandas can read this just as easily:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>apples</th>\n",
       "      <th>oranges</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>David</th>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>June</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Lily</th>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Robert</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        apples  oranges\n",
       "David        1        2\n",
       "June         3        0\n",
       "Lily         0        7\n",
       "Robert       2        3"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_json('purchases.json')\n",
    "\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notice this time our index came with us correctly since using JSON allowed indexes to work through nesting. Feel free to open `data_file.json` in a notepad so you can see how it works.\n",
    "\n",
    "Pandas will try to figure out how to create a DataFrame by analyzing structure of your JSON, and sometimes it doesn't get it right. Often you'll need to set the `orient` keyword argument depending on the structure, so check out [read_json docs](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_json.html) about that argument to see which orientation you're using.\n",
    "\n",
    "### Reading data from a SQL database\n",
    "\n",
    "If you’re working with data from a SQL database you need to first establish a connection using an appropriate Python library, then pass a query to pandas. Here we'll use SQLite to demonstrate. \n",
    "\n",
    "First, we need `pysqlite3` installed, so run this command in your terminal:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`pip install pysqlite3`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Or run this cell if you're in a notebook:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "!pip install pysqlite3"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`sqlite3` is used to create a connection to a database which we can then use to generate a DataFrame through a `SELECT` query.\n",
    "\n",
    "So first we'll make a connection to a SQLite database file:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [],
   "source": [
    "import sqlite3\n",
    "\n",
    "con = sqlite3.connect(\"database.db\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Note**: If you have data in PostgreSQL, MySQL, or some other SQL server, you'll need to obtain the right Python library to make a connection. For example, `psycopg2` ([link](http://initd.org/psycopg/download/)) is a commonly used library for making connections to PostgreSQL. Furthermore, you would make a connection to a database URI instead of a file like we did here with SQLite. For a great course on SQL check out [The Complete SQL Bootcamp](https://learndatasci.com/out/udemy-the-complete-sql-bootcamp/) on Udemy\n",
    "\n",
    "\n",
    "In this SQLite database we have a table called *purchases*, and our index is in a column called \"index\". \n",
    "\n",
    "By passing a SELECT query and our `con`, we can read from the *purchases* table:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>index</th>\n",
       "      <th>apples</th>\n",
       "      <th>oranges</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>June</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Robert</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Lily</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>David</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    index  apples  oranges\n",
       "0    June       3        0\n",
       "1  Robert       2        3\n",
       "2    Lily       0        7\n",
       "3   David       1        2"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_sql_query(\"SELECT * FROM purchases\", con)\n",
    "\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Just like with CSVs, we could pass `index_col='index'`, but we can also set an index after-the-fact:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>apples</th>\n",
       "      <th>oranges</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>index</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>June</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Robert</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Lily</th>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>David</th>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        apples  oranges\n",
       "index                  \n",
       "June         3        0\n",
       "Robert       2        3\n",
       "Lily         0        7\n",
       "David        1        2"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = df.set_index('index')\n",
    "\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In fact, we could use `set_index()` on *any* DataFrame using *any* column at *any* time. Indexing Series and DataFrames is a very common task, and the different ways of doing it is worth remembering."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Converting back to a CSV, JSON, or SQL\n",
    "\n",
    "So after extensive work on cleaning your data, you’re now ready to save it as a file of your choice. Similar to the ways we read in data, pandas provides intuitive commands to save it:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.to_csv('new_purchases.csv')\n",
    "\n",
    "df.to_json('new_purchases.json')\n",
    "\n",
    "df.to_sql('new_purchases', con)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "When we save JSON and CSV files, all we have to input into those functions is our desired filename with the appropriate file extension. With SQL, we’re not creating a new file but instead inserting a new table into the database using our `con` variable from before.\n",
    "\n",
    "Let's move on to importing some real-world data and detailing a few of the operations you'll be using a lot.\n",
    "\n",
    "\n",
    "## Most important DataFrame operations\n",
    "\n",
    "DataFrames possess hundreds of methods and other operations that are crucial to any analysis. As a beginner, you should know the operations that perform simple transformations of your data and those that provide fundamental statistical analysis.\n",
    "\n",
    "Let's load in the IMDB movies dataset to begin:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "movies_df = pd.read_csv(\"IMDB-Movie-Data.csv\", index_col=\"Title\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We're loading this dataset from a CSV and designating the movie titles to be our index."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Viewing your data\n",
    "\n",
    "The first thing to do when opening a new dataset is print out a few rows to keep as a visual reference. We accomplish this with `.head()`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Rank</th>\n",
       "      <th>Genre</th>\n",
       "      <th>Description</th>\n",
       "      <th>Director</th>\n",
       "      <th>Actors</th>\n",
       "      <th>Year</th>\n",
       "      <th>Runtime (Minutes)</th>\n",
       "      <th>Rating</th>\n",
       "      <th>Votes</th>\n",
       "      <th>Revenue (Millions)</th>\n",
       "      <th>Metascore</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Title</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Guardians of the Galaxy</th>\n",
       "      <td>1</td>\n",
       "      <td>Action,Adventure,Sci-Fi</td>\n",
       "      <td>A group of intergalactic criminals are forced ...</td>\n",
       "      <td>James Gunn</td>\n",
       "      <td>Chris Pratt, Vin Diesel, Bradley Cooper, Zoe S...</td>\n",
       "      <td>2014</td>\n",
       "      <td>121</td>\n",
       "      <td>8.1</td>\n",
       "      <td>757074</td>\n",
       "      <td>333.13</td>\n",
       "      <td>76.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Prometheus</th>\n",
       "      <td>2</td>\n",
       "      <td>Adventure,Mystery,Sci-Fi</td>\n",
       "      <td>Following clues to the origin of mankind, a te...</td>\n",
       "      <td>Ridley Scott</td>\n",
       "      <td>Noomi Rapace, Logan Marshall-Green, Michael Fa...</td>\n",
       "      <td>2012</td>\n",
       "      <td>124</td>\n",
       "      <td>7.0</td>\n",
       "      <td>485820</td>\n",
       "      <td>126.46</td>\n",
       "      <td>65.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Split</th>\n",
       "      <td>3</td>\n",
       "      <td>Horror,Thriller</td>\n",
       "      <td>Three girls are kidnapped by a man with a diag...</td>\n",
       "      <td>M. Night Shyamalan</td>\n",
       "      <td>James McAvoy, Anya Taylor-Joy, Haley Lu Richar...</td>\n",
       "      <td>2016</td>\n",
       "      <td>117</td>\n",
       "      <td>7.3</td>\n",
       "      <td>157606</td>\n",
       "      <td>138.12</td>\n",
       "      <td>62.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sing</th>\n",
       "      <td>4</td>\n",
       "      <td>Animation,Comedy,Family</td>\n",
       "      <td>In a city of humanoid animals, a hustling thea...</td>\n",
       "      <td>Christophe Lourdelet</td>\n",
       "      <td>Matthew McConaughey,Reese Witherspoon, Seth Ma...</td>\n",
       "      <td>2016</td>\n",
       "      <td>108</td>\n",
       "      <td>7.2</td>\n",
       "      <td>60545</td>\n",
       "      <td>270.32</td>\n",
       "      <td>59.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Suicide Squad</th>\n",
       "      <td>5</td>\n",
       "      <td>Action,Adventure,Fantasy</td>\n",
       "      <td>A secret government agency recruits some of th...</td>\n",
       "      <td>David Ayer</td>\n",
       "      <td>Will Smith, Jared Leto, Margot Robbie, Viola D...</td>\n",
       "      <td>2016</td>\n",
       "      <td>123</td>\n",
       "      <td>6.2</td>\n",
       "      <td>393727</td>\n",
       "      <td>325.02</td>\n",
       "      <td>40.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         Rank                     Genre  \\\n",
       "Title                                                     \n",
       "Guardians of the Galaxy     1   Action,Adventure,Sci-Fi   \n",
       "Prometheus                  2  Adventure,Mystery,Sci-Fi   \n",
       "Split                       3           Horror,Thriller   \n",
       "Sing                        4   Animation,Comedy,Family   \n",
       "Suicide Squad               5  Action,Adventure,Fantasy   \n",
       "\n",
       "                                                               Description  \\\n",
       "Title                                                                        \n",
       "Guardians of the Galaxy  A group of intergalactic criminals are forced ...   \n",
       "Prometheus               Following clues to the origin of mankind, a te...   \n",
       "Split                    Three girls are kidnapped by a man with a diag...   \n",
       "Sing                     In a city of humanoid animals, a hustling thea...   \n",
       "Suicide Squad            A secret government agency recruits some of th...   \n",
       "\n",
       "                                     Director  \\\n",
       "Title                                           \n",
       "Guardians of the Galaxy            James Gunn   \n",
       "Prometheus                       Ridley Scott   \n",
       "Split                      M. Night Shyamalan   \n",
       "Sing                     Christophe Lourdelet   \n",
       "Suicide Squad                      David Ayer   \n",
       "\n",
       "                                                                    Actors  \\\n",
       "Title                                                                        \n",
       "Guardians of the Galaxy  Chris Pratt, Vin Diesel, Bradley Cooper, Zoe S...   \n",
       "Prometheus               Noomi Rapace, Logan Marshall-Green, Michael Fa...   \n",
       "Split                    James McAvoy, Anya Taylor-Joy, Haley Lu Richar...   \n",
       "Sing                     Matthew McConaughey,Reese Witherspoon, Seth Ma...   \n",
       "Suicide Squad            Will Smith, Jared Leto, Margot Robbie, Viola D...   \n",
       "\n",
       "                         Year  Runtime (Minutes)  Rating   Votes  \\\n",
       "Title                                                              \n",
       "Guardians of the Galaxy  2014                121     8.1  757074   \n",
       "Prometheus               2012                124     7.0  485820   \n",
       "Split                    2016                117     7.3  157606   \n",
       "Sing                     2016                108     7.2   60545   \n",
       "Suicide Squad            2016                123     6.2  393727   \n",
       "\n",
       "                         Revenue (Millions)  Metascore  \n",
       "Title                                                   \n",
       "Guardians of the Galaxy              333.13       76.0  \n",
       "Prometheus                           126.46       65.0  \n",
       "Split                                138.12       62.0  \n",
       "Sing                                 270.32       59.0  \n",
       "Suicide Squad                        325.02       40.0  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`.head()` outputs the **first** five rows of your DataFrame by default, but we could also pass a number as well: `movies_df.head(10)` would output the top ten rows, for example. \n",
    "\n",
    "To see the **last** five rows use `.tail()`. `tail()` also accepts a number, and in this case we printing the bottom two rows.:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Rank</th>\n",
       "      <th>Genre</th>\n",
       "      <th>Description</th>\n",
       "      <th>Director</th>\n",
       "      <th>Actors</th>\n",
       "      <th>Year</th>\n",
       "      <th>Runtime (Minutes)</th>\n",
       "      <th>Rating</th>\n",
       "      <th>Votes</th>\n",
       "      <th>Revenue (Millions)</th>\n",
       "      <th>Metascore</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Title</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Search Party</th>\n",
       "      <td>999</td>\n",
       "      <td>Adventure,Comedy</td>\n",
       "      <td>A pair of friends embark on a mission to reuni...</td>\n",
       "      <td>Scot Armstrong</td>\n",
       "      <td>Adam Pally, T.J. Miller, Thomas Middleditch,Sh...</td>\n",
       "      <td>2014</td>\n",
       "      <td>93</td>\n",
       "      <td>5.6</td>\n",
       "      <td>4881</td>\n",
       "      <td>NaN</td>\n",
       "      <td>22.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Nine Lives</th>\n",
       "      <td>1000</td>\n",
       "      <td>Comedy,Family,Fantasy</td>\n",
       "      <td>A stuffy businessman finds himself trapped ins...</td>\n",
       "      <td>Barry Sonnenfeld</td>\n",
       "      <td>Kevin Spacey, Jennifer Garner, Robbie Amell,Ch...</td>\n",
       "      <td>2016</td>\n",
       "      <td>87</td>\n",
       "      <td>5.3</td>\n",
       "      <td>12435</td>\n",
       "      <td>19.64</td>\n",
       "      <td>11.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              Rank                  Genre  \\\n",
       "Title                                       \n",
       "Search Party   999       Adventure,Comedy   \n",
       "Nine Lives    1000  Comedy,Family,Fantasy   \n",
       "\n",
       "                                                    Description  \\\n",
       "Title                                                             \n",
       "Search Party  A pair of friends embark on a mission to reuni...   \n",
       "Nine Lives    A stuffy businessman finds himself trapped ins...   \n",
       "\n",
       "                      Director  \\\n",
       "Title                            \n",
       "Search Party    Scot Armstrong   \n",
       "Nine Lives    Barry Sonnenfeld   \n",
       "\n",
       "                                                         Actors  Year  \\\n",
       "Title                                                                   \n",
       "Search Party  Adam Pally, T.J. Miller, Thomas Middleditch,Sh...  2014   \n",
       "Nine Lives    Kevin Spacey, Jennifer Garner, Robbie Amell,Ch...  2016   \n",
       "\n",
       "              Runtime (Minutes)  Rating  Votes  Revenue (Millions)  Metascore  \n",
       "Title                                                                          \n",
       "Search Party                 93     5.6   4881                 NaN       22.0  \n",
       "Nine Lives                   87     5.3  12435               19.64       11.0  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df.tail(2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Typically when we load in a dataset, we like to view the first five or so rows to see what's under the hood. Here we can see the names of each column, the index, and examples of values in each row.\n",
    "\n",
    "You'll notice that the index in our DataFrame is the *Title* column, which you can tell by how the word *Title* is slightly lower than the rest of the columns."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Getting info about your data\n",
    "\n",
    "`.info()` should be one of the very first commands you run after loading your data:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Index: 1000 entries, Guardians of the Galaxy to Nine Lives\n",
      "Data columns (total 11 columns):\n",
      "Rank                  1000 non-null int64\n",
      "Genre                 1000 non-null object\n",
      "Description           1000 non-null object\n",
      "Director              1000 non-null object\n",
      "Actors                1000 non-null object\n",
      "Year                  1000 non-null int64\n",
      "Runtime (Minutes)     1000 non-null int64\n",
      "Rating                1000 non-null float64\n",
      "Votes                 1000 non-null int64\n",
      "Revenue (Millions)    872 non-null float64\n",
      "Metascore             936 non-null float64\n",
      "dtypes: float64(3), int64(4), object(4)\n",
      "memory usage: 93.8+ KB\n"
     ]
    }
   ],
   "source": [
    "movies_df.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`.info()` provides the essential details about your dataset, such as the number of rows and columns, the number of non-null values, what type of data is in each column, and how much memory your DataFrame is using. \n",
    "\n",
    "Notice in our movies dataset we have some obvious missing values in the `Revenue` and `Metascore` columns. We'll look at how to handle those in a bit.\n",
    "\n",
    "Seeing the datatype quickly is actually quite useful. Imagine you just imported some JSON and the integers were recorded as strings. You go to do some arithmetic and find an \"unsupported operand\" Exception because you can't do math with strings. Calling `.info()` will quickly point out that your column you thought was all integers are actually string objects.\n",
    "\n",
    "Another fast and useful attribute is `.shape`, which outputs just a tuple of (rows, columns):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1000, 11)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that `.shape` has no parentheses and is a simple tuple of format (rows, columns). So we have **1000 rows** and **11 columns** in our movies DataFrame.\n",
    "\n",
    "You'll be going to `.shape` a lot when cleaning and transforming data. For example, you might filter some rows based on some criteria and then want to know quickly how many rows were removed."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Handling duplicates"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This dataset does not have duplicate rows, but it is always important to verify you aren't aggregating duplicate rows. \n",
    "\n",
    "To demonstrate, let's simply just double up our movies DataFrame by appending it to itself:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(2000, 11)"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "temp_df = movies_df.append(movies_df)\n",
    "\n",
    "temp_df.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Using `append()` will return a copy without affecting the original DataFrame. We are capturing this copy in `temp` so we aren't working with the real data.\n",
    "\n",
    "Notice call `.shape` quickly proves our DataFrame rows have doubled.\n",
    "\n",
    "Now we can try dropping duplicates:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1000, 11)"
      ]
     },
     "execution_count": 82,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "temp_df = temp_df.drop_duplicates()\n",
    "\n",
    "temp_df.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Just like `append()`, the `drop_duplicates()` method will also return a copy of your DataFrame, but this time with duplicates removed. Calling `.shape` confirms we're back to the 1000 rows of our original dataset.\n",
    "\n",
    "It's a little verbose to keep assigning DataFrames to the same variable like in this example. For this reason, pandas has the `inplace` keyword argument on many of its methods. Using `inplace=True` will modify the DataFrame object in place:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [],
   "source": [
    "temp_df.drop_duplicates(inplace=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now our `temp_df` *will* have the transformed data automatically. \n",
    "\n",
    "Another important argument for `drop_duplicates()` is `keep`, which has three possible options:\n",
    "\n",
    "* `first`: (default) Drop duplicates except for the first occurrence.\n",
    "* `last`: Drop duplicates except for the last occurrence.\n",
    "* `False`: Drop all duplicates.\n",
    "\n",
    "Since we didn't define the `keep` arugment in the previous example it was defaulted to `first`. This means that if two rows are the same pandas will drop the second row and keep the first row. Using `last` has the opposite effect: the first row is dropped.\n",
    "\n",
    "`keep`, on the other hand, will drop all duplicates. If two rows are the same then both will be dropped. Watch what happens to `temp_df`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0, 11)"
      ]
     },
     "execution_count": 85,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "temp_df = movies_df.append(movies_df)  # make a new copy\n",
    "\n",
    "temp_df.drop_duplicates(inplace=True, keep=False)\n",
    "\n",
    "temp_df.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Since all rows were duplicates, `keep=False` dropped them all resulting in zero rows being left over. If you're wondering why you would want to do this, one reason is that it allows you to locate all duplicates in your dataset. When conditional selections are shown below you'll see how to do that."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Column cleanup\n",
    "\n",
    "Many times datasets will have verbose column names with symbols, upper and lowercase words, spaces, and typos. To make selecting data by column name easier we can spend a little time cleaning up their names.\n",
    "\n",
    "Here's how to print the column names of our dataset:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['Rank', 'Genre', 'Description', 'Director', 'Actors', 'Year',\n",
       "       'Runtime (Minutes)', 'Rating', 'Votes', 'Revenue (Millions)',\n",
       "       'Metascore'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df.columns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Not only does `.columns` come in handy if you want to rename columns by allowing for simple copy and paste, it's also useful if you need to understand why you are receiving a `Key Error` when selecting data by column.\n",
    "\n",
    "We can use the `.rename()` method to rename certain or all columns via a `dict`. We don't want parentheses, so let's rename those:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['Rank', 'Genre', 'Description', 'Director', 'Actors', 'Year', 'Runtime',\n",
       "       'Rating', 'Votes', 'Revenue_millions', 'Metascore'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df.rename(columns={\n",
    "        'Runtime (Minutes)': 'Runtime', \n",
    "        'Revenue (Millions)': 'Revenue_millions'\n",
    "    }, inplace=True)\n",
    "\n",
    "\n",
    "movies_df.columns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Excellent. But what if we want to lowercase all names? Instead of using `.rename()` we could also set a list of names to the columns like so:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['rank', 'genre', 'description', 'director', 'actors', 'year', 'runtime',\n",
       "       'rating', 'votes', 'revenue_millions', 'metascore'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df.columns = ['rank', 'genre', 'description', 'director', 'actors', 'year', 'runtime', \n",
    "                     'rating', 'votes', 'revenue_millions', 'metascore']\n",
    "\n",
    "\n",
    "movies_df.columns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "But that's too much work. Instead of just renaming each column manually we can do a list comprehension:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['rank', 'genre', 'description', 'director', 'actors', 'year', 'runtime',\n",
       "       'rating', 'votes', 'revenue_millions', 'metascore'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 93,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df.columns = [col.lower() for col in movies_df]\n",
    "\n",
    "movies_df.columns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`list` (and `dict`) comprehensions come in handy a lot when working with pandas and data in general.\n",
    "\n",
    "It's a good idea to lowercase, remove special characters, and replace spaces with underscores if you'll be working with a dataset for some time."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### How to work with missing values\n",
    "\n",
    "When exploring data, you’ll most likely encounter missing or null values, which are essentially placeholders for non-existent values. Most commonly you'll see Python's `None` or NumPy's `np.nan`, each of which are handled differently in some situations.\n",
    "\n",
    "There are two options in dealing with nulls: \n",
    "\n",
    "1. Get rid of rows or columns with nulls\n",
    "2. Replace nulls with non-null values, a technique known as **imputation**\n",
    "\n",
    "Let's calculate to total number of nulls in each column of our dataset. The first step is to check which cells in our DataFrame are null:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rank</th>\n",
       "      <th>genre</th>\n",
       "      <th>description</th>\n",
       "      <th>director</th>\n",
       "      <th>actors</th>\n",
       "      <th>year</th>\n",
       "      <th>runtime</th>\n",
       "      <th>rating</th>\n",
       "      <th>votes</th>\n",
       "      <th>revenue_millions</th>\n",
       "      <th>metascore</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Title</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Guardians of the Galaxy</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Prometheus</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Split</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sing</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Suicide Squad</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                          rank  genre  description  director  actors   year  \\\n",
       "Title                                                                         \n",
       "Guardians of the Galaxy  False  False        False     False   False  False   \n",
       "Prometheus               False  False        False     False   False  False   \n",
       "Split                    False  False        False     False   False  False   \n",
       "Sing                     False  False        False     False   False  False   \n",
       "Suicide Squad            False  False        False     False   False  False   \n",
       "\n",
       "                         runtime  rating  votes  revenue_millions  metascore  \n",
       "Title                                                                         \n",
       "Guardians of the Galaxy    False   False  False             False      False  \n",
       "Prometheus                 False   False  False             False      False  \n",
       "Split                      False   False  False             False      False  \n",
       "Sing                       False   False  False             False      False  \n",
       "Suicide Squad              False   False  False             False      False  "
      ]
     },
     "execution_count": 99,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df.isnull()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notice `isnull()` returns a DataFrame where each cell is either True or False depending on that cell's null status.\n",
    "\n",
    "To count the number of nulls in each column we use an aggregate function for summing: "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "rank                  0\n",
       "genre                 0\n",
       "description           0\n",
       "director              0\n",
       "actors                0\n",
       "year                  0\n",
       "runtime               0\n",
       "rating                0\n",
       "votes                 0\n",
       "revenue_millions    128\n",
       "metascore            64\n",
       "dtype: int64"
      ]
     },
     "execution_count": 100,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df.isnull().sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`.isnull()` just by iteself isn't very useful, and is usually used in conjunction with other methods, like `sum()`.\n",
    "\n",
    "We can see now that our data has **128** missing values for `revenue_millions` and **64** missing values for `metascore`."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Removing null values\n",
    "\n",
    "Data Scientists and Analysts regularly face the dilemma of dropping or imputing null values, and is a decision that requires intimate knowledge of your data and its context. Overall, removing null data is only suggested if you have a small amount of missing data.\n",
    "\n",
    "Remove nulls is pretty simple:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rank</th>\n",
       "      <th>genre</th>\n",
       "      <th>description</th>\n",
       "      <th>director</th>\n",
       "      <th>actors</th>\n",
       "      <th>year</th>\n",
       "      <th>runtime</th>\n",
       "      <th>rating</th>\n",
       "      <th>votes</th>\n",
       "      <th>revenue_millions</th>\n",
       "      <th>metascore</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Title</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Guardians of the Galaxy</th>\n",
       "      <td>1</td>\n",
       "      <td>Action,Adventure,Sci-Fi</td>\n",
       "      <td>A group of intergalactic criminals are forced ...</td>\n",
       "      <td>James Gunn</td>\n",
       "      <td>Chris Pratt, Vin Diesel, Bradley Cooper, Zoe S...</td>\n",
       "      <td>2014</td>\n",
       "      <td>121</td>\n",
       "      <td>8.1</td>\n",
       "      <td>757074</td>\n",
       "      <td>333.13</td>\n",
       "      <td>76.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Prometheus</th>\n",
       "      <td>2</td>\n",
       "      <td>Adventure,Mystery,Sci-Fi</td>\n",
       "      <td>Following clues to the origin of mankind, a te...</td>\n",
       "      <td>Ridley Scott</td>\n",
       "      <td>Noomi Rapace, Logan Marshall-Green, Michael Fa...</td>\n",
       "      <td>2012</td>\n",
       "      <td>124</td>\n",
       "      <td>7.0</td>\n",
       "      <td>485820</td>\n",
       "      <td>126.46</td>\n",
       "      <td>65.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Split</th>\n",
       "      <td>3</td>\n",
       "      <td>Horror,Thriller</td>\n",
       "      <td>Three girls are kidnapped by a man with a diag...</td>\n",
       "      <td>M. Night Shyamalan</td>\n",
       "      <td>James McAvoy, Anya Taylor-Joy, Haley Lu Richar...</td>\n",
       "      <td>2016</td>\n",
       "      <td>117</td>\n",
       "      <td>7.3</td>\n",
       "      <td>157606</td>\n",
       "      <td>138.12</td>\n",
       "      <td>62.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sing</th>\n",
       "      <td>4</td>\n",
       "      <td>Animation,Comedy,Family</td>\n",
       "      <td>In a city of humanoid animals, a hustling thea...</td>\n",
       "      <td>Christophe Lourdelet</td>\n",
       "      <td>Matthew McConaughey,Reese Witherspoon, Seth Ma...</td>\n",
       "      <td>2016</td>\n",
       "      <td>108</td>\n",
       "      <td>7.2</td>\n",
       "      <td>60545</td>\n",
       "      <td>270.32</td>\n",
       "      <td>59.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Suicide Squad</th>\n",
       "      <td>5</td>\n",
       "      <td>Action,Adventure,Fantasy</td>\n",
       "      <td>A secret government agency recruits some of th...</td>\n",
       "      <td>David Ayer</td>\n",
       "      <td>Will Smith, Jared Leto, Margot Robbie, Viola D...</td>\n",
       "      <td>2016</td>\n",
       "      <td>123</td>\n",
       "      <td>6.2</td>\n",
       "      <td>393727</td>\n",
       "      <td>325.02</td>\n",
       "      <td>40.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>The Great Wall</th>\n",
       "      <td>6</td>\n",
       "      <td>Action,Adventure,Fantasy</td>\n",
       "      <td>European mercenaries searching for black powde...</td>\n",
       "      <td>Yimou Zhang</td>\n",
       "      <td>Matt Damon, Tian Jing, Willem Dafoe, Andy Lau</td>\n",
       "      <td>2016</td>\n",
       "      <td>103</td>\n",
       "      <td>6.1</td>\n",
       "      <td>56036</td>\n",
       "      <td>45.13</td>\n",
       "      <td>42.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>La La Land</th>\n",
       "      <td>7</td>\n",
       "      <td>Comedy,Drama,Music</td>\n",
       "      <td>A jazz pianist falls for an aspiring actress i...</td>\n",
       "      <td>Damien Chazelle</td>\n",
       "      <td>Ryan Gosling, Emma Stone, Rosemarie DeWitt, J....</td>\n",
       "      <td>2016</td>\n",
       "      <td>128</td>\n",
       "      <td>8.3</td>\n",
       "      <td>258682</td>\n",
       "      <td>151.06</td>\n",
       "      <td>93.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>The Lost City of Z</th>\n",
       "      <td>9</td>\n",
       "      <td>Action,Adventure,Biography</td>\n",
       "      <td>A true-life drama, centering on British explor...</td>\n",
       "      <td>James Gray</td>\n",
       "      <td>Charlie Hunnam, Robert Pattinson, Sienna Mille...</td>\n",
       "      <td>2016</td>\n",
       "      <td>141</td>\n",
       "      <td>7.1</td>\n",
       "      <td>7188</td>\n",
       "      <td>8.01</td>\n",
       "      <td>78.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Passengers</th>\n",
       "      <td>10</td>\n",
       "      <td>Adventure,Drama,Romance</td>\n",
       "      <td>A spacecraft traveling to a distant colony pla...</td>\n",
       "      <td>Morten Tyldum</td>\n",
       "      <td>Jennifer Lawrence, Chris Pratt, Michael Sheen,...</td>\n",
       "      <td>2016</td>\n",
       "      <td>116</td>\n",
       "      <td>7.0</td>\n",
       "      <td>192177</td>\n",
       "      <td>100.01</td>\n",
       "      <td>41.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Fantastic Beasts and Where to Find Them</th>\n",
       "      <td>11</td>\n",
       "      <td>Adventure,Family,Fantasy</td>\n",
       "      <td>The adventures of writer Newt Scamander in New...</td>\n",
       "      <td>David Yates</td>\n",
       "      <td>Eddie Redmayne, Katherine Waterston, Alison Su...</td>\n",
       "      <td>2016</td>\n",
       "      <td>133</td>\n",
       "      <td>7.5</td>\n",
       "      <td>232072</td>\n",
       "      <td>234.02</td>\n",
       "      <td>66.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hidden Figures</th>\n",
       "      <td>12</td>\n",
       "      <td>Biography,Drama,History</td>\n",
       "      <td>The story of a team of female African-American...</td>\n",
       "      <td>Theodore Melfi</td>\n",
       "      <td>Taraji P. Henson, Octavia Spencer, Janelle Mon...</td>\n",
       "      <td>2016</td>\n",
       "      <td>127</td>\n",
       "      <td>7.8</td>\n",
       "      <td>93103</td>\n",
       "      <td>169.27</td>\n",
       "      <td>74.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Rogue One</th>\n",
       "      <td>13</td>\n",
       "      <td>Action,Adventure,Sci-Fi</td>\n",
       "      <td>The Rebel Alliance makes a risky move to steal...</td>\n",
       "      <td>Gareth Edwards</td>\n",
       "      <td>Felicity Jones, Diego Luna, Alan Tudyk, Donnie...</td>\n",
       "      <td>2016</td>\n",
       "      <td>133</td>\n",
       "      <td>7.9</td>\n",
       "      <td>323118</td>\n",
       "      <td>532.17</td>\n",
       "      <td>65.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Moana</th>\n",
       "      <td>14</td>\n",
       "      <td>Animation,Adventure,Comedy</td>\n",
       "      <td>In Ancient Polynesia, when a terrible curse in...</td>\n",
       "      <td>Ron Clements</td>\n",
       "      <td>Auli'i Cravalho, Dwayne Johnson, Rachel House,...</td>\n",
       "      <td>2016</td>\n",
       "      <td>107</td>\n",
       "      <td>7.7</td>\n",
       "      <td>118151</td>\n",
       "      <td>248.75</td>\n",
       "      <td>81.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Colossal</th>\n",
       "      <td>15</td>\n",
       "      <td>Action,Comedy,Drama</td>\n",
       "      <td>Gloria is an out-of-work party girl forced to ...</td>\n",
       "      <td>Nacho Vigalondo</td>\n",
       "      <td>Anne Hathaway, Jason Sudeikis, Austin Stowell,...</td>\n",
       "      <td>2016</td>\n",
       "      <td>109</td>\n",
       "      <td>6.4</td>\n",
       "      <td>8612</td>\n",
       "      <td>2.87</td>\n",
       "      <td>70.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>The Secret Life of Pets</th>\n",
       "      <td>16</td>\n",
       "      <td>Animation,Adventure,Comedy</td>\n",
       "      <td>The quiet life of a terrier named Max is upend...</td>\n",
       "      <td>Chris Renaud</td>\n",
       "      <td>Louis C.K., Eric Stonestreet, Kevin Hart, Lake...</td>\n",
       "      <td>2016</td>\n",
       "      <td>87</td>\n",
       "      <td>6.6</td>\n",
       "      <td>120259</td>\n",
       "      <td>368.31</td>\n",
       "      <td>61.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hacksaw Ridge</th>\n",
       "      <td>17</td>\n",
       "      <td>Biography,Drama,History</td>\n",
       "      <td>WWII American Army Medic Desmond T. Doss, who ...</td>\n",
       "      <td>Mel Gibson</td>\n",
       "      <td>Andrew Garfield, Sam Worthington, Luke Bracey,...</td>\n",
       "      <td>2016</td>\n",
       "      <td>139</td>\n",
       "      <td>8.2</td>\n",
       "      <td>211760</td>\n",
       "      <td>67.12</td>\n",
       "      <td>71.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Jason Bourne</th>\n",
       "      <td>18</td>\n",
       "      <td>Action,Thriller</td>\n",
       "      <td>The CIA's most dangerous former operative is d...</td>\n",
       "      <td>Paul Greengrass</td>\n",
       "      <td>Matt Damon, Tommy Lee Jones, Alicia Vikander,V...</td>\n",
       "      <td>2016</td>\n",
       "      <td>123</td>\n",
       "      <td>6.7</td>\n",
       "      <td>150823</td>\n",
       "      <td>162.16</td>\n",
       "      <td>58.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Lion</th>\n",
       "      <td>19</td>\n",
       "      <td>Biography,Drama</td>\n",
       "      <td>A five-year-old Indian boy gets lost on the st...</td>\n",
       "      <td>Garth Davis</td>\n",
       "      <td>Dev Patel, Nicole Kidman, Rooney Mara, Sunny P...</td>\n",
       "      <td>2016</td>\n",
       "      <td>118</td>\n",
       "      <td>8.1</td>\n",
       "      <td>102061</td>\n",
       "      <td>51.69</td>\n",
       "      <td>69.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Arrival</th>\n",
       "      <td>20</td>\n",
       "      <td>Drama,Mystery,Sci-Fi</td>\n",
       "      <td>When twelve mysterious spacecraft appear aroun...</td>\n",
       "      <td>Denis Villeneuve</td>\n",
       "      <td>Amy Adams, Jeremy Renner, Forest Whitaker,Mich...</td>\n",
       "      <td>2016</td>\n",
       "      <td>116</td>\n",
       "      <td>8.0</td>\n",
       "      <td>340798</td>\n",
       "      <td>100.50</td>\n",
       "      <td>81.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Gold</th>\n",
       "      <td>21</td>\n",
       "      <td>Adventure,Drama,Thriller</td>\n",
       "      <td>Kenny Wells, a prospector desperate for a luck...</td>\n",
       "      <td>Stephen Gaghan</td>\n",
       "      <td>Matthew McConaughey, Edgar Ramírez, Bryce Dall...</td>\n",
       "      <td>2016</td>\n",
       "      <td>120</td>\n",
       "      <td>6.7</td>\n",
       "      <td>19053</td>\n",
       "      <td>7.22</td>\n",
       "      <td>49.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Manchester by the Sea</th>\n",
       "      <td>22</td>\n",
       "      <td>Drama</td>\n",
       "      <td>A depressed uncle is asked to take care of his...</td>\n",
       "      <td>Kenneth Lonergan</td>\n",
       "      <td>Casey Affleck, Michelle Williams, Kyle Chandle...</td>\n",
       "      <td>2016</td>\n",
       "      <td>137</td>\n",
       "      <td>7.9</td>\n",
       "      <td>134213</td>\n",
       "      <td>47.70</td>\n",
       "      <td>96.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Trolls</th>\n",
       "      <td>24</td>\n",
       "      <td>Animation,Adventure,Comedy</td>\n",
       "      <td>After the Bergens invade Troll Village, Poppy,...</td>\n",
       "      <td>Walt Dohrn</td>\n",
       "      <td>Anna Kendrick, Justin Timberlake,Zooey Deschan...</td>\n",
       "      <td>2016</td>\n",
       "      <td>92</td>\n",
       "      <td>6.5</td>\n",
       "      <td>38552</td>\n",
       "      <td>153.69</td>\n",
       "      <td>56.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Independence Day: Resurgence</th>\n",
       "      <td>25</td>\n",
       "      <td>Action,Adventure,Sci-Fi</td>\n",
       "      <td>Two decades after the first Independence Day i...</td>\n",
       "      <td>Roland Emmerich</td>\n",
       "      <td>Liam Hemsworth, Jeff Goldblum, Bill Pullman,Ma...</td>\n",
       "      <td>2016</td>\n",
       "      <td>120</td>\n",
       "      <td>5.3</td>\n",
       "      <td>127553</td>\n",
       "      <td>103.14</td>\n",
       "      <td>32.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Bad Moms</th>\n",
       "      <td>29</td>\n",
       "      <td>Comedy</td>\n",
       "      <td>When three overworked and under-appreciated mo...</td>\n",
       "      <td>Jon Lucas</td>\n",
       "      <td>Mila Kunis, Kathryn Hahn, Kristen Bell,Christi...</td>\n",
       "      <td>2016</td>\n",
       "      <td>100</td>\n",
       "      <td>6.2</td>\n",
       "      <td>66540</td>\n",
       "      <td>113.08</td>\n",
       "      <td>60.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Assassin's Creed</th>\n",
       "      <td>30</td>\n",
       "      <td>Action,Adventure,Drama</td>\n",
       "      <td>When Callum Lynch explores the memories of his...</td>\n",
       "      <td>Justin Kurzel</td>\n",
       "      <td>Michael Fassbender, Marion Cotillard, Jeremy I...</td>\n",
       "      <td>2016</td>\n",
       "      <td>115</td>\n",
       "      <td>5.9</td>\n",
       "      <td>112813</td>\n",
       "      <td>54.65</td>\n",
       "      <td>36.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Why Him?</th>\n",
       "      <td>31</td>\n",
       "      <td>Comedy</td>\n",
       "      <td>A holiday gathering threatens to go off the ra...</td>\n",
       "      <td>John Hamburg</td>\n",
       "      <td>Zoey Deutch, James Franco, Tangie Ambrose,Cedr...</td>\n",
       "      <td>2016</td>\n",
       "      <td>111</td>\n",
       "      <td>6.3</td>\n",
       "      <td>48123</td>\n",
       "      <td>60.31</td>\n",
       "      <td>39.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Nocturnal Animals</th>\n",
       "      <td>32</td>\n",
       "      <td>Drama,Thriller</td>\n",
       "      <td>A wealthy art gallery owner is haunted by her ...</td>\n",
       "      <td>Tom Ford</td>\n",
       "      <td>Amy Adams, Jake Gyllenhaal, Michael Shannon, A...</td>\n",
       "      <td>2016</td>\n",
       "      <td>116</td>\n",
       "      <td>7.5</td>\n",
       "      <td>126030</td>\n",
       "      <td>10.64</td>\n",
       "      <td>67.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>X-Men: Apocalypse</th>\n",
       "      <td>33</td>\n",
       "      <td>Action,Adventure,Sci-Fi</td>\n",
       "      <td>After the re-emergence of the world's first mu...</td>\n",
       "      <td>Bryan Singer</td>\n",
       "      <td>James McAvoy, Michael Fassbender, Jennifer Law...</td>\n",
       "      <td>2016</td>\n",
       "      <td>144</td>\n",
       "      <td>7.1</td>\n",
       "      <td>275510</td>\n",
       "      <td>155.33</td>\n",
       "      <td>52.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Deadpool</th>\n",
       "      <td>34</td>\n",
       "      <td>Action,Adventure,Comedy</td>\n",
       "      <td>A fast-talking mercenary with a morbid sense o...</td>\n",
       "      <td>Tim Miller</td>\n",
       "      <td>Ryan Reynolds, Morena Baccarin, T.J. Miller, E...</td>\n",
       "      <td>2016</td>\n",
       "      <td>108</td>\n",
       "      <td>8.0</td>\n",
       "      <td>627797</td>\n",
       "      <td>363.02</td>\n",
       "      <td>65.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Resident Evil: The Final Chapter</th>\n",
       "      <td>35</td>\n",
       "      <td>Action,Horror,Sci-Fi</td>\n",
       "      <td>Alice returns to where the nightmare began: Th...</td>\n",
       "      <td>Paul W.S. Anderson</td>\n",
       "      <td>Milla Jovovich, Iain Glen, Ali Larter, Shawn R...</td>\n",
       "      <td>2016</td>\n",
       "      <td>107</td>\n",
       "      <td>5.6</td>\n",
       "      <td>46165</td>\n",
       "      <td>26.84</td>\n",
       "      <td>49.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>That Awkward Moment</th>\n",
       "      <td>956</td>\n",
       "      <td>Comedy,Romance</td>\n",
       "      <td>Three best friends find themselves where we've...</td>\n",
       "      <td>Tom Gormican</td>\n",
       "      <td>Zac Efron, Michael B. Jordan, Miles Teller, Im...</td>\n",
       "      <td>2014</td>\n",
       "      <td>94</td>\n",
       "      <td>6.2</td>\n",
       "      <td>81823</td>\n",
       "      <td>26.05</td>\n",
       "      <td>36.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Legion</th>\n",
       "      <td>957</td>\n",
       "      <td>Action,Fantasy,Horror</td>\n",
       "      <td>When a group of strangers at a dusty roadside ...</td>\n",
       "      <td>Scott Stewart</td>\n",
       "      <td>Paul Bettany, Dennis Quaid, Charles S. Dutton,...</td>\n",
       "      <td>2010</td>\n",
       "      <td>100</td>\n",
       "      <td>5.2</td>\n",
       "      <td>84158</td>\n",
       "      <td>40.17</td>\n",
       "      <td>32.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>End of Watch</th>\n",
       "      <td>958</td>\n",
       "      <td>Crime,Drama,Thriller</td>\n",
       "      <td>Shot documentary-style, this film follows the ...</td>\n",
       "      <td>David Ayer</td>\n",
       "      <td>Jake Gyllenhaal, Michael Peña, Anna Kendrick, ...</td>\n",
       "      <td>2012</td>\n",
       "      <td>109</td>\n",
       "      <td>7.7</td>\n",
       "      <td>192190</td>\n",
       "      <td>40.98</td>\n",
       "      <td>68.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3 Days to Kill</th>\n",
       "      <td>959</td>\n",
       "      <td>Action,Drama,Thriller</td>\n",
       "      <td>A dying CIA agent trying to reconnect with his...</td>\n",
       "      <td>McG</td>\n",
       "      <td>Kevin Costner, Hailee Steinfeld, Connie Nielse...</td>\n",
       "      <td>2014</td>\n",
       "      <td>117</td>\n",
       "      <td>6.2</td>\n",
       "      <td>73567</td>\n",
       "      <td>30.69</td>\n",
       "      <td>40.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Lucky Number Slevin</th>\n",
       "      <td>960</td>\n",
       "      <td>Crime,Drama,Mystery</td>\n",
       "      <td>A case of mistaken identity lands Slevin into ...</td>\n",
       "      <td>Paul McGuigan</td>\n",
       "      <td>Josh Hartnett, Ben Kingsley, Morgan Freeman, L...</td>\n",
       "      <td>2006</td>\n",
       "      <td>110</td>\n",
       "      <td>7.8</td>\n",
       "      <td>271940</td>\n",
       "      <td>22.49</td>\n",
       "      <td>53.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Trance</th>\n",
       "      <td>961</td>\n",
       "      <td>Crime,Drama,Mystery</td>\n",
       "      <td>An art auctioneer who has become mixed up with...</td>\n",
       "      <td>Danny Boyle</td>\n",
       "      <td>James McAvoy, Rosario Dawson, Vincent Cassel,D...</td>\n",
       "      <td>2013</td>\n",
       "      <td>101</td>\n",
       "      <td>7.0</td>\n",
       "      <td>97141</td>\n",
       "      <td>2.32</td>\n",
       "      <td>61.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Into the Forest</th>\n",
       "      <td>962</td>\n",
       "      <td>Drama,Sci-Fi,Thriller</td>\n",
       "      <td>After a massive power outage, two sisters lear...</td>\n",
       "      <td>Patricia Rozema</td>\n",
       "      <td>Ellen Page, Evan Rachel Wood, Max Minghella,Ca...</td>\n",
       "      <td>2015</td>\n",
       "      <td>101</td>\n",
       "      <td>5.9</td>\n",
       "      <td>10220</td>\n",
       "      <td>0.01</td>\n",
       "      <td>59.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>The Other Boleyn Girl</th>\n",
       "      <td>963</td>\n",
       "      <td>Biography,Drama,History</td>\n",
       "      <td>Two sisters contend for the affection of King ...</td>\n",
       "      <td>Justin Chadwick</td>\n",
       "      <td>Natalie Portman, Scarlett Johansson, Eric Bana...</td>\n",
       "      <td>2008</td>\n",
       "      <td>115</td>\n",
       "      <td>6.7</td>\n",
       "      <td>88260</td>\n",
       "      <td>26.81</td>\n",
       "      <td>50.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>I Spit on Your Grave</th>\n",
       "      <td>964</td>\n",
       "      <td>Crime,Horror,Thriller</td>\n",
       "      <td>A writer who is brutalized during her cabin re...</td>\n",
       "      <td>Steven R. Monroe</td>\n",
       "      <td>Sarah Butler, Jeff Branson, Andrew Howard,Dani...</td>\n",
       "      <td>2010</td>\n",
       "      <td>108</td>\n",
       "      <td>6.3</td>\n",
       "      <td>60133</td>\n",
       "      <td>0.09</td>\n",
       "      <td>27.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Texas Chainsaw 3D</th>\n",
       "      <td>971</td>\n",
       "      <td>Horror,Thriller</td>\n",
       "      <td>A young woman travels to Texas to collect an i...</td>\n",
       "      <td>John Luessenhop</td>\n",
       "      <td>Alexandra Daddario, Tania Raymonde, Scott East...</td>\n",
       "      <td>2013</td>\n",
       "      <td>92</td>\n",
       "      <td>4.8</td>\n",
       "      <td>37060</td>\n",
       "      <td>34.33</td>\n",
       "      <td>62.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Rock of Ages</th>\n",
       "      <td>973</td>\n",
       "      <td>Comedy,Drama,Musical</td>\n",
       "      <td>A small town girl and a city boy meet on the S...</td>\n",
       "      <td>Adam Shankman</td>\n",
       "      <td>Julianne Hough, Diego Boneta, Tom Cruise, Alec...</td>\n",
       "      <td>2012</td>\n",
       "      <td>123</td>\n",
       "      <td>5.9</td>\n",
       "      <td>64513</td>\n",
       "      <td>38.51</td>\n",
       "      <td>47.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Scream 4</th>\n",
       "      <td>974</td>\n",
       "      <td>Horror,Mystery</td>\n",
       "      <td>Ten years have passed, and Sidney Prescott, wh...</td>\n",
       "      <td>Wes Craven</td>\n",
       "      <td>Neve Campbell, Courteney Cox, David Arquette, ...</td>\n",
       "      <td>2011</td>\n",
       "      <td>111</td>\n",
       "      <td>6.2</td>\n",
       "      <td>108544</td>\n",
       "      <td>38.18</td>\n",
       "      <td>52.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Queen of Katwe</th>\n",
       "      <td>975</td>\n",
       "      <td>Biography,Drama,Sport</td>\n",
       "      <td>A Ugandan girl sees her world rapidly change a...</td>\n",
       "      <td>Mira Nair</td>\n",
       "      <td>Madina Nalwanga, David Oyelowo, Lupita Nyong'o...</td>\n",
       "      <td>2016</td>\n",
       "      <td>124</td>\n",
       "      <td>7.4</td>\n",
       "      <td>6753</td>\n",
       "      <td>8.81</td>\n",
       "      <td>73.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>My Big Fat Greek Wedding 2</th>\n",
       "      <td>976</td>\n",
       "      <td>Comedy,Family,Romance</td>\n",
       "      <td>A Portokalos family secret brings the beloved ...</td>\n",
       "      <td>Kirk Jones</td>\n",
       "      <td>Nia Vardalos, John Corbett, Michael Constantin...</td>\n",
       "      <td>2016</td>\n",
       "      <td>94</td>\n",
       "      <td>6.0</td>\n",
       "      <td>20966</td>\n",
       "      <td>59.57</td>\n",
       "      <td>37.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>The Skin I Live In</th>\n",
       "      <td>980</td>\n",
       "      <td>Drama,Thriller</td>\n",
       "      <td>A brilliant plastic surgeon, haunted by past t...</td>\n",
       "      <td>Pedro Almodóvar</td>\n",
       "      <td>Antonio Banderas, Elena Anaya, Jan Cornet,Mari...</td>\n",
       "      <td>2011</td>\n",
       "      <td>120</td>\n",
       "      <td>7.6</td>\n",
       "      <td>108772</td>\n",
       "      <td>3.19</td>\n",
       "      <td>70.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Miracles from Heaven</th>\n",
       "      <td>981</td>\n",
       "      <td>Biography,Drama,Family</td>\n",
       "      <td>A young girl suffering from a rare digestive d...</td>\n",
       "      <td>Patricia Riggen</td>\n",
       "      <td>Jennifer Garner, Kylie Rogers, Martin Henderso...</td>\n",
       "      <td>2016</td>\n",
       "      <td>109</td>\n",
       "      <td>7.0</td>\n",
       "      <td>12048</td>\n",
       "      <td>61.69</td>\n",
       "      <td>44.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Annie</th>\n",
       "      <td>982</td>\n",
       "      <td>Comedy,Drama,Family</td>\n",
       "      <td>A foster kid, who lives with her mean foster m...</td>\n",
       "      <td>Will Gluck</td>\n",
       "      <td>Quvenzhané Wallis, Cameron Diaz, Jamie Foxx, R...</td>\n",
       "      <td>2014</td>\n",
       "      <td>118</td>\n",
       "      <td>5.3</td>\n",
       "      <td>27312</td>\n",
       "      <td>85.91</td>\n",
       "      <td>33.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Across the Universe</th>\n",
       "      <td>983</td>\n",
       "      <td>Drama,Fantasy,Musical</td>\n",
       "      <td>The music of the Beatles and the Vietnam War f...</td>\n",
       "      <td>Julie Taymor</td>\n",
       "      <td>Evan Rachel Wood, Jim Sturgess, Joe Anderson, ...</td>\n",
       "      <td>2007</td>\n",
       "      <td>133</td>\n",
       "      <td>7.4</td>\n",
       "      <td>95172</td>\n",
       "      <td>24.34</td>\n",
       "      <td>56.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Let's Be Cops</th>\n",
       "      <td>984</td>\n",
       "      <td>Comedy</td>\n",
       "      <td>Two struggling pals dress as police officers f...</td>\n",
       "      <td>Luke Greenfield</td>\n",
       "      <td>Jake Johnson, Damon Wayans Jr., Rob Riggle, Ni...</td>\n",
       "      <td>2014</td>\n",
       "      <td>104</td>\n",
       "      <td>6.5</td>\n",
       "      <td>112729</td>\n",
       "      <td>82.39</td>\n",
       "      <td>30.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Max</th>\n",
       "      <td>985</td>\n",
       "      <td>Adventure,Family</td>\n",
       "      <td>A Malinois dog that helped American Marines in...</td>\n",
       "      <td>Boaz Yakin</td>\n",
       "      <td>Thomas Haden Church, Josh Wiggins, Luke Kleint...</td>\n",
       "      <td>2015</td>\n",
       "      <td>111</td>\n",
       "      <td>6.8</td>\n",
       "      <td>21405</td>\n",
       "      <td>42.65</td>\n",
       "      <td>47.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Your Highness</th>\n",
       "      <td>986</td>\n",
       "      <td>Adventure,Comedy,Fantasy</td>\n",
       "      <td>When Prince Fabious's bride is kidnapped, he g...</td>\n",
       "      <td>David Gordon Green</td>\n",
       "      <td>Danny McBride, Natalie Portman, James Franco, ...</td>\n",
       "      <td>2011</td>\n",
       "      <td>102</td>\n",
       "      <td>5.6</td>\n",
       "      <td>87904</td>\n",
       "      <td>21.56</td>\n",
       "      <td>31.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Final Destination 5</th>\n",
       "      <td>987</td>\n",
       "      <td>Horror,Thriller</td>\n",
       "      <td>Survivors of a suspension-bridge collapse lear...</td>\n",
       "      <td>Steven Quale</td>\n",
       "      <td>Nicholas D'Agosto, Emma Bell, Arlen Escarpeta,...</td>\n",
       "      <td>2011</td>\n",
       "      <td>92</td>\n",
       "      <td>5.9</td>\n",
       "      <td>88000</td>\n",
       "      <td>42.58</td>\n",
       "      <td>50.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Endless Love</th>\n",
       "      <td>988</td>\n",
       "      <td>Drama,Romance</td>\n",
       "      <td>The story of a privileged girl and a charismat...</td>\n",
       "      <td>Shana Feste</td>\n",
       "      <td>Gabriella Wilde, Alex Pettyfer, Bruce Greenwoo...</td>\n",
       "      <td>2014</td>\n",
       "      <td>104</td>\n",
       "      <td>6.3</td>\n",
       "      <td>33688</td>\n",
       "      <td>23.39</td>\n",
       "      <td>30.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Underworld: Rise of the Lycans</th>\n",
       "      <td>991</td>\n",
       "      <td>Action,Adventure,Fantasy</td>\n",
       "      <td>An origins story centered on the centuries-old...</td>\n",
       "      <td>Patrick Tatopoulos</td>\n",
       "      <td>Rhona Mitra, Michael Sheen, Bill Nighy, Steven...</td>\n",
       "      <td>2009</td>\n",
       "      <td>92</td>\n",
       "      <td>6.6</td>\n",
       "      <td>129708</td>\n",
       "      <td>45.80</td>\n",
       "      <td>44.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Taare Zameen Par</th>\n",
       "      <td>992</td>\n",
       "      <td>Drama,Family,Music</td>\n",
       "      <td>An eight-year-old boy is thought to be a lazy ...</td>\n",
       "      <td>Aamir Khan</td>\n",
       "      <td>Darsheel Safary, Aamir Khan, Tanay Chheda, Sac...</td>\n",
       "      <td>2007</td>\n",
       "      <td>165</td>\n",
       "      <td>8.5</td>\n",
       "      <td>102697</td>\n",
       "      <td>1.20</td>\n",
       "      <td>42.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Resident Evil: Afterlife</th>\n",
       "      <td>994</td>\n",
       "      <td>Action,Adventure,Horror</td>\n",
       "      <td>While still out to destroy the evil Umbrella C...</td>\n",
       "      <td>Paul W.S. Anderson</td>\n",
       "      <td>Milla Jovovich, Ali Larter, Wentworth Miller,K...</td>\n",
       "      <td>2010</td>\n",
       "      <td>97</td>\n",
       "      <td>5.9</td>\n",
       "      <td>140900</td>\n",
       "      <td>60.13</td>\n",
       "      <td>37.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Project X</th>\n",
       "      <td>995</td>\n",
       "      <td>Comedy</td>\n",
       "      <td>3 high school seniors throw a birthday party t...</td>\n",
       "      <td>Nima Nourizadeh</td>\n",
       "      <td>Thomas Mann, Oliver Cooper, Jonathan Daniel Br...</td>\n",
       "      <td>2012</td>\n",
       "      <td>88</td>\n",
       "      <td>6.7</td>\n",
       "      <td>164088</td>\n",
       "      <td>54.72</td>\n",
       "      <td>48.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hostel: Part II</th>\n",
       "      <td>997</td>\n",
       "      <td>Horror</td>\n",
       "      <td>Three American college students studying abroa...</td>\n",
       "      <td>Eli Roth</td>\n",
       "      <td>Lauren German, Heather Matarazzo, Bijou Philli...</td>\n",
       "      <td>2007</td>\n",
       "      <td>94</td>\n",
       "      <td>5.5</td>\n",
       "      <td>73152</td>\n",
       "      <td>17.54</td>\n",
       "      <td>46.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Step Up 2: The Streets</th>\n",
       "      <td>998</td>\n",
       "      <td>Drama,Music,Romance</td>\n",
       "      <td>Romantic sparks occur between two dance studen...</td>\n",
       "      <td>Jon M. Chu</td>\n",
       "      <td>Robert Hoffman, Briana Evigan, Cassie Ventura,...</td>\n",
       "      <td>2008</td>\n",
       "      <td>98</td>\n",
       "      <td>6.2</td>\n",
       "      <td>70699</td>\n",
       "      <td>58.01</td>\n",
       "      <td>50.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Nine Lives</th>\n",
       "      <td>1000</td>\n",
       "      <td>Comedy,Family,Fantasy</td>\n",
       "      <td>A stuffy businessman finds himself trapped ins...</td>\n",
       "      <td>Barry Sonnenfeld</td>\n",
       "      <td>Kevin Spacey, Jennifer Garner, Robbie Amell,Ch...</td>\n",
       "      <td>2016</td>\n",
       "      <td>87</td>\n",
       "      <td>5.3</td>\n",
       "      <td>12435</td>\n",
       "      <td>19.64</td>\n",
       "      <td>11.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>838 rows × 11 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                         rank                       genre  \\\n",
       "Title                                                                       \n",
       "Guardians of the Galaxy                     1     Action,Adventure,Sci-Fi   \n",
       "Prometheus                                  2    Adventure,Mystery,Sci-Fi   \n",
       "Split                                       3             Horror,Thriller   \n",
       "Sing                                        4     Animation,Comedy,Family   \n",
       "Suicide Squad                               5    Action,Adventure,Fantasy   \n",
       "The Great Wall                              6    Action,Adventure,Fantasy   \n",
       "La La Land                                  7          Comedy,Drama,Music   \n",
       "The Lost City of Z                          9  Action,Adventure,Biography   \n",
       "Passengers                                 10     Adventure,Drama,Romance   \n",
       "Fantastic Beasts and Where to Find Them    11    Adventure,Family,Fantasy   \n",
       "Hidden Figures                             12     Biography,Drama,History   \n",
       "Rogue One                                  13     Action,Adventure,Sci-Fi   \n",
       "Moana                                      14  Animation,Adventure,Comedy   \n",
       "Colossal                                   15         Action,Comedy,Drama   \n",
       "The Secret Life of Pets                    16  Animation,Adventure,Comedy   \n",
       "Hacksaw Ridge                              17     Biography,Drama,History   \n",
       "Jason Bourne                               18             Action,Thriller   \n",
       "Lion                                       19             Biography,Drama   \n",
       "Arrival                                    20        Drama,Mystery,Sci-Fi   \n",
       "Gold                                       21    Adventure,Drama,Thriller   \n",
       "Manchester by the Sea                      22                       Drama   \n",
       "Trolls                                     24  Animation,Adventure,Comedy   \n",
       "Independence Day: Resurgence               25     Action,Adventure,Sci-Fi   \n",
       "Bad Moms                                   29                      Comedy   \n",
       "Assassin's Creed                           30      Action,Adventure,Drama   \n",
       "Why Him?                                   31                      Comedy   \n",
       "Nocturnal Animals                          32              Drama,Thriller   \n",
       "X-Men: Apocalypse                          33     Action,Adventure,Sci-Fi   \n",
       "Deadpool                                   34     Action,Adventure,Comedy   \n",
       "Resident Evil: The Final Chapter           35        Action,Horror,Sci-Fi   \n",
       "...                                       ...                         ...   \n",
       "That Awkward Moment                       956              Comedy,Romance   \n",
       "Legion                                    957       Action,Fantasy,Horror   \n",
       "End of Watch                              958        Crime,Drama,Thriller   \n",
       "3 Days to Kill                            959       Action,Drama,Thriller   \n",
       "Lucky Number Slevin                       960         Crime,Drama,Mystery   \n",
       "Trance                                    961         Crime,Drama,Mystery   \n",
       "Into the Forest                           962       Drama,Sci-Fi,Thriller   \n",
       "The Other Boleyn Girl                     963     Biography,Drama,History   \n",
       "I Spit on Your Grave                      964       Crime,Horror,Thriller   \n",
       "Texas Chainsaw 3D                         971             Horror,Thriller   \n",
       "Rock of Ages                              973        Comedy,Drama,Musical   \n",
       "Scream 4                                  974              Horror,Mystery   \n",
       "Queen of Katwe                            975       Biography,Drama,Sport   \n",
       "My Big Fat Greek Wedding 2                976       Comedy,Family,Romance   \n",
       "The Skin I Live In                        980              Drama,Thriller   \n",
       "Miracles from Heaven                      981      Biography,Drama,Family   \n",
       "Annie                                     982         Comedy,Drama,Family   \n",
       "Across the Universe                       983       Drama,Fantasy,Musical   \n",
       "Let's Be Cops                             984                      Comedy   \n",
       "Max                                       985            Adventure,Family   \n",
       "Your Highness                             986    Adventure,Comedy,Fantasy   \n",
       "Final Destination 5                       987             Horror,Thriller   \n",
       "Endless Love                              988               Drama,Romance   \n",
       "Underworld: Rise of the Lycans            991    Action,Adventure,Fantasy   \n",
       "Taare Zameen Par                          992          Drama,Family,Music   \n",
       "Resident Evil: Afterlife                  994     Action,Adventure,Horror   \n",
       "Project X                                 995                      Comedy   \n",
       "Hostel: Part II                           997                      Horror   \n",
       "Step Up 2: The Streets                    998         Drama,Music,Romance   \n",
       "Nine Lives                               1000       Comedy,Family,Fantasy   \n",
       "\n",
       "                                                                               description  \\\n",
       "Title                                                                                        \n",
       "Guardians of the Galaxy                  A group of intergalactic criminals are forced ...   \n",
       "Prometheus                               Following clues to the origin of mankind, a te...   \n",
       "Split                                    Three girls are kidnapped by a man with a diag...   \n",
       "Sing                                     In a city of humanoid animals, a hustling thea...   \n",
       "Suicide Squad                            A secret government agency recruits some of th...   \n",
       "The Great Wall                           European mercenaries searching for black powde...   \n",
       "La La Land                               A jazz pianist falls for an aspiring actress i...   \n",
       "The Lost City of Z                       A true-life drama, centering on British explor...   \n",
       "Passengers                               A spacecraft traveling to a distant colony pla...   \n",
       "Fantastic Beasts and Where to Find Them  The adventures of writer Newt Scamander in New...   \n",
       "Hidden Figures                           The story of a team of female African-American...   \n",
       "Rogue One                                The Rebel Alliance makes a risky move to steal...   \n",
       "Moana                                    In Ancient Polynesia, when a terrible curse in...   \n",
       "Colossal                                 Gloria is an out-of-work party girl forced to ...   \n",
       "The Secret Life of Pets                  The quiet life of a terrier named Max is upend...   \n",
       "Hacksaw Ridge                            WWII American Army Medic Desmond T. Doss, who ...   \n",
       "Jason Bourne                             The CIA's most dangerous former operative is d...   \n",
       "Lion                                     A five-year-old Indian boy gets lost on the st...   \n",
       "Arrival                                  When twelve mysterious spacecraft appear aroun...   \n",
       "Gold                                     Kenny Wells, a prospector desperate for a luck...   \n",
       "Manchester by the Sea                    A depressed uncle is asked to take care of his...   \n",
       "Trolls                                   After the Bergens invade Troll Village, Poppy,...   \n",
       "Independence Day: Resurgence             Two decades after the first Independence Day i...   \n",
       "Bad Moms                                 When three overworked and under-appreciated mo...   \n",
       "Assassin's Creed                         When Callum Lynch explores the memories of his...   \n",
       "Why Him?                                 A holiday gathering threatens to go off the ra...   \n",
       "Nocturnal Animals                        A wealthy art gallery owner is haunted by her ...   \n",
       "X-Men: Apocalypse                        After the re-emergence of the world's first mu...   \n",
       "Deadpool                                 A fast-talking mercenary with a morbid sense o...   \n",
       "Resident Evil: The Final Chapter         Alice returns to where the nightmare began: Th...   \n",
       "...                                                                                    ...   \n",
       "That Awkward Moment                      Three best friends find themselves where we've...   \n",
       "Legion                                   When a group of strangers at a dusty roadside ...   \n",
       "End of Watch                             Shot documentary-style, this film follows the ...   \n",
       "3 Days to Kill                           A dying CIA agent trying to reconnect with his...   \n",
       "Lucky Number Slevin                      A case of mistaken identity lands Slevin into ...   \n",
       "Trance                                   An art auctioneer who has become mixed up with...   \n",
       "Into the Forest                          After a massive power outage, two sisters lear...   \n",
       "The Other Boleyn Girl                    Two sisters contend for the affection of King ...   \n",
       "I Spit on Your Grave                     A writer who is brutalized during her cabin re...   \n",
       "Texas Chainsaw 3D                        A young woman travels to Texas to collect an i...   \n",
       "Rock of Ages                             A small town girl and a city boy meet on the S...   \n",
       "Scream 4                                 Ten years have passed, and Sidney Prescott, wh...   \n",
       "Queen of Katwe                           A Ugandan girl sees her world rapidly change a...   \n",
       "My Big Fat Greek Wedding 2               A Portokalos family secret brings the beloved ...   \n",
       "The Skin I Live In                       A brilliant plastic surgeon, haunted by past t...   \n",
       "Miracles from Heaven                     A young girl suffering from a rare digestive d...   \n",
       "Annie                                    A foster kid, who lives with her mean foster m...   \n",
       "Across the Universe                      The music of the Beatles and the Vietnam War f...   \n",
       "Let's Be Cops                            Two struggling pals dress as police officers f...   \n",
       "Max                                      A Malinois dog that helped American Marines in...   \n",
       "Your Highness                            When Prince Fabious's bride is kidnapped, he g...   \n",
       "Final Destination 5                      Survivors of a suspension-bridge collapse lear...   \n",
       "Endless Love                             The story of a privileged girl and a charismat...   \n",
       "Underworld: Rise of the Lycans           An origins story centered on the centuries-old...   \n",
       "Taare Zameen Par                         An eight-year-old boy is thought to be a lazy ...   \n",
       "Resident Evil: Afterlife                 While still out to destroy the evil Umbrella C...   \n",
       "Project X                                3 high school seniors throw a birthday party t...   \n",
       "Hostel: Part II                          Three American college students studying abroa...   \n",
       "Step Up 2: The Streets                   Romantic sparks occur between two dance studen...   \n",
       "Nine Lives                               A stuffy businessman finds himself trapped ins...   \n",
       "\n",
       "                                                     director  \\\n",
       "Title                                                           \n",
       "Guardians of the Galaxy                            James Gunn   \n",
       "Prometheus                                       Ridley Scott   \n",
       "Split                                      M. Night Shyamalan   \n",
       "Sing                                     Christophe Lourdelet   \n",
       "Suicide Squad                                      David Ayer   \n",
       "The Great Wall                                    Yimou Zhang   \n",
       "La La Land                                    Damien Chazelle   \n",
       "The Lost City of Z                                 James Gray   \n",
       "Passengers                                      Morten Tyldum   \n",
       "Fantastic Beasts and Where to Find Them           David Yates   \n",
       "Hidden Figures                                 Theodore Melfi   \n",
       "Rogue One                                      Gareth Edwards   \n",
       "Moana                                            Ron Clements   \n",
       "Colossal                                      Nacho Vigalondo   \n",
       "The Secret Life of Pets                          Chris Renaud   \n",
       "Hacksaw Ridge                                      Mel Gibson   \n",
       "Jason Bourne                                  Paul Greengrass   \n",
       "Lion                                              Garth Davis   \n",
       "Arrival                                      Denis Villeneuve   \n",
       "Gold                                           Stephen Gaghan   \n",
       "Manchester by the Sea                        Kenneth Lonergan   \n",
       "Trolls                                             Walt Dohrn   \n",
       "Independence Day: Resurgence                  Roland Emmerich   \n",
       "Bad Moms                                            Jon Lucas   \n",
       "Assassin's Creed                                Justin Kurzel   \n",
       "Why Him?                                         John Hamburg   \n",
       "Nocturnal Animals                                    Tom Ford   \n",
       "X-Men: Apocalypse                                Bryan Singer   \n",
       "Deadpool                                           Tim Miller   \n",
       "Resident Evil: The Final Chapter           Paul W.S. Anderson   \n",
       "...                                                       ...   \n",
       "That Awkward Moment                              Tom Gormican   \n",
       "Legion                                          Scott Stewart   \n",
       "End of Watch                                       David Ayer   \n",
       "3 Days to Kill                                            McG   \n",
       "Lucky Number Slevin                             Paul McGuigan   \n",
       "Trance                                            Danny Boyle   \n",
       "Into the Forest                               Patricia Rozema   \n",
       "The Other Boleyn Girl                         Justin Chadwick   \n",
       "I Spit on Your Grave                         Steven R. Monroe   \n",
       "Texas Chainsaw 3D                             John Luessenhop   \n",
       "Rock of Ages                                    Adam Shankman   \n",
       "Scream 4                                           Wes Craven   \n",
       "Queen of Katwe                                      Mira Nair   \n",
       "My Big Fat Greek Wedding 2                         Kirk Jones   \n",
       "The Skin I Live In                            Pedro Almodóvar   \n",
       "Miracles from Heaven                          Patricia Riggen   \n",
       "Annie                                              Will Gluck   \n",
       "Across the Universe                              Julie Taymor   \n",
       "Let's Be Cops                                 Luke Greenfield   \n",
       "Max                                                Boaz Yakin   \n",
       "Your Highness                              David Gordon Green   \n",
       "Final Destination 5                              Steven Quale   \n",
       "Endless Love                                      Shana Feste   \n",
       "Underworld: Rise of the Lycans             Patrick Tatopoulos   \n",
       "Taare Zameen Par                                   Aamir Khan   \n",
       "Resident Evil: Afterlife                   Paul W.S. Anderson   \n",
       "Project X                                     Nima Nourizadeh   \n",
       "Hostel: Part II                                      Eli Roth   \n",
       "Step Up 2: The Streets                             Jon M. Chu   \n",
       "Nine Lives                                   Barry Sonnenfeld   \n",
       "\n",
       "                                                                                    actors  \\\n",
       "Title                                                                                        \n",
       "Guardians of the Galaxy                  Chris Pratt, Vin Diesel, Bradley Cooper, Zoe S...   \n",
       "Prometheus                               Noomi Rapace, Logan Marshall-Green, Michael Fa...   \n",
       "Split                                    James McAvoy, Anya Taylor-Joy, Haley Lu Richar...   \n",
       "Sing                                     Matthew McConaughey,Reese Witherspoon, Seth Ma...   \n",
       "Suicide Squad                            Will Smith, Jared Leto, Margot Robbie, Viola D...   \n",
       "The Great Wall                               Matt Damon, Tian Jing, Willem Dafoe, Andy Lau   \n",
       "La La Land                               Ryan Gosling, Emma Stone, Rosemarie DeWitt, J....   \n",
       "The Lost City of Z                       Charlie Hunnam, Robert Pattinson, Sienna Mille...   \n",
       "Passengers                               Jennifer Lawrence, Chris Pratt, Michael Sheen,...   \n",
       "Fantastic Beasts and Where to Find Them  Eddie Redmayne, Katherine Waterston, Alison Su...   \n",
       "Hidden Figures                           Taraji P. Henson, Octavia Spencer, Janelle Mon...   \n",
       "Rogue One                                Felicity Jones, Diego Luna, Alan Tudyk, Donnie...   \n",
       "Moana                                    Auli'i Cravalho, Dwayne Johnson, Rachel House,...   \n",
       "Colossal                                 Anne Hathaway, Jason Sudeikis, Austin Stowell,...   \n",
       "The Secret Life of Pets                  Louis C.K., Eric Stonestreet, Kevin Hart, Lake...   \n",
       "Hacksaw Ridge                            Andrew Garfield, Sam Worthington, Luke Bracey,...   \n",
       "Jason Bourne                             Matt Damon, Tommy Lee Jones, Alicia Vikander,V...   \n",
       "Lion                                     Dev Patel, Nicole Kidman, Rooney Mara, Sunny P...   \n",
       "Arrival                                  Amy Adams, Jeremy Renner, Forest Whitaker,Mich...   \n",
       "Gold                                     Matthew McConaughey, Edgar Ramírez, Bryce Dall...   \n",
       "Manchester by the Sea                    Casey Affleck, Michelle Williams, Kyle Chandle...   \n",
       "Trolls                                   Anna Kendrick, Justin Timberlake,Zooey Deschan...   \n",
       "Independence Day: Resurgence             Liam Hemsworth, Jeff Goldblum, Bill Pullman,Ma...   \n",
       "Bad Moms                                 Mila Kunis, Kathryn Hahn, Kristen Bell,Christi...   \n",
       "Assassin's Creed                         Michael Fassbender, Marion Cotillard, Jeremy I...   \n",
       "Why Him?                                 Zoey Deutch, James Franco, Tangie Ambrose,Cedr...   \n",
       "Nocturnal Animals                        Amy Adams, Jake Gyllenhaal, Michael Shannon, A...   \n",
       "X-Men: Apocalypse                        James McAvoy, Michael Fassbender, Jennifer Law...   \n",
       "Deadpool                                 Ryan Reynolds, Morena Baccarin, T.J. Miller, E...   \n",
       "Resident Evil: The Final Chapter         Milla Jovovich, Iain Glen, Ali Larter, Shawn R...   \n",
       "...                                                                                    ...   \n",
       "That Awkward Moment                      Zac Efron, Michael B. Jordan, Miles Teller, Im...   \n",
       "Legion                                   Paul Bettany, Dennis Quaid, Charles S. Dutton,...   \n",
       "End of Watch                             Jake Gyllenhaal, Michael Peña, Anna Kendrick, ...   \n",
       "3 Days to Kill                           Kevin Costner, Hailee Steinfeld, Connie Nielse...   \n",
       "Lucky Number Slevin                      Josh Hartnett, Ben Kingsley, Morgan Freeman, L...   \n",
       "Trance                                   James McAvoy, Rosario Dawson, Vincent Cassel,D...   \n",
       "Into the Forest                          Ellen Page, Evan Rachel Wood, Max Minghella,Ca...   \n",
       "The Other Boleyn Girl                    Natalie Portman, Scarlett Johansson, Eric Bana...   \n",
       "I Spit on Your Grave                     Sarah Butler, Jeff Branson, Andrew Howard,Dani...   \n",
       "Texas Chainsaw 3D                        Alexandra Daddario, Tania Raymonde, Scott East...   \n",
       "Rock of Ages                             Julianne Hough, Diego Boneta, Tom Cruise, Alec...   \n",
       "Scream 4                                 Neve Campbell, Courteney Cox, David Arquette, ...   \n",
       "Queen of Katwe                           Madina Nalwanga, David Oyelowo, Lupita Nyong'o...   \n",
       "My Big Fat Greek Wedding 2               Nia Vardalos, John Corbett, Michael Constantin...   \n",
       "The Skin I Live In                       Antonio Banderas, Elena Anaya, Jan Cornet,Mari...   \n",
       "Miracles from Heaven                     Jennifer Garner, Kylie Rogers, Martin Henderso...   \n",
       "Annie                                    Quvenzhané Wallis, Cameron Diaz, Jamie Foxx, R...   \n",
       "Across the Universe                      Evan Rachel Wood, Jim Sturgess, Joe Anderson, ...   \n",
       "Let's Be Cops                            Jake Johnson, Damon Wayans Jr., Rob Riggle, Ni...   \n",
       "Max                                      Thomas Haden Church, Josh Wiggins, Luke Kleint...   \n",
       "Your Highness                            Danny McBride, Natalie Portman, James Franco, ...   \n",
       "Final Destination 5                      Nicholas D'Agosto, Emma Bell, Arlen Escarpeta,...   \n",
       "Endless Love                             Gabriella Wilde, Alex Pettyfer, Bruce Greenwoo...   \n",
       "Underworld: Rise of the Lycans           Rhona Mitra, Michael Sheen, Bill Nighy, Steven...   \n",
       "Taare Zameen Par                         Darsheel Safary, Aamir Khan, Tanay Chheda, Sac...   \n",
       "Resident Evil: Afterlife                 Milla Jovovich, Ali Larter, Wentworth Miller,K...   \n",
       "Project X                                Thomas Mann, Oliver Cooper, Jonathan Daniel Br...   \n",
       "Hostel: Part II                          Lauren German, Heather Matarazzo, Bijou Philli...   \n",
       "Step Up 2: The Streets                   Robert Hoffman, Briana Evigan, Cassie Ventura,...   \n",
       "Nine Lives                               Kevin Spacey, Jennifer Garner, Robbie Amell,Ch...   \n",
       "\n",
       "                                         year  runtime  rating   votes  \\\n",
       "Title                                                                    \n",
       "Guardians of the Galaxy                  2014      121     8.1  757074   \n",
       "Prometheus                               2012      124     7.0  485820   \n",
       "Split                                    2016      117     7.3  157606   \n",
       "Sing                                     2016      108     7.2   60545   \n",
       "Suicide Squad                            2016      123     6.2  393727   \n",
       "The Great Wall                           2016      103     6.1   56036   \n",
       "La La Land                               2016      128     8.3  258682   \n",
       "The Lost City of Z                       2016      141     7.1    7188   \n",
       "Passengers                               2016      116     7.0  192177   \n",
       "Fantastic Beasts and Where to Find Them  2016      133     7.5  232072   \n",
       "Hidden Figures                           2016      127     7.8   93103   \n",
       "Rogue One                                2016      133     7.9  323118   \n",
       "Moana                                    2016      107     7.7  118151   \n",
       "Colossal                                 2016      109     6.4    8612   \n",
       "The Secret Life of Pets                  2016       87     6.6  120259   \n",
       "Hacksaw Ridge                            2016      139     8.2  211760   \n",
       "Jason Bourne                             2016      123     6.7  150823   \n",
       "Lion                                     2016      118     8.1  102061   \n",
       "Arrival                                  2016      116     8.0  340798   \n",
       "Gold                                     2016      120     6.7   19053   \n",
       "Manchester by the Sea                    2016      137     7.9  134213   \n",
       "Trolls                                   2016       92     6.5   38552   \n",
       "Independence Day: Resurgence             2016      120     5.3  127553   \n",
       "Bad Moms                                 2016      100     6.2   66540   \n",
       "Assassin's Creed                         2016      115     5.9  112813   \n",
       "Why Him?                                 2016      111     6.3   48123   \n",
       "Nocturnal Animals                        2016      116     7.5  126030   \n",
       "X-Men: Apocalypse                        2016      144     7.1  275510   \n",
       "Deadpool                                 2016      108     8.0  627797   \n",
       "Resident Evil: The Final Chapter         2016      107     5.6   46165   \n",
       "...                                       ...      ...     ...     ...   \n",
       "That Awkward Moment                      2014       94     6.2   81823   \n",
       "Legion                                   2010      100     5.2   84158   \n",
       "End of Watch                             2012      109     7.7  192190   \n",
       "3 Days to Kill                           2014      117     6.2   73567   \n",
       "Lucky Number Slevin                      2006      110     7.8  271940   \n",
       "Trance                                   2013      101     7.0   97141   \n",
       "Into the Forest                          2015      101     5.9   10220   \n",
       "The Other Boleyn Girl                    2008      115     6.7   88260   \n",
       "I Spit on Your Grave                     2010      108     6.3   60133   \n",
       "Texas Chainsaw 3D                        2013       92     4.8   37060   \n",
       "Rock of Ages                             2012      123     5.9   64513   \n",
       "Scream 4                                 2011      111     6.2  108544   \n",
       "Queen of Katwe                           2016      124     7.4    6753   \n",
       "My Big Fat Greek Wedding 2               2016       94     6.0   20966   \n",
       "The Skin I Live In                       2011      120     7.6  108772   \n",
       "Miracles from Heaven                     2016      109     7.0   12048   \n",
       "Annie                                    2014      118     5.3   27312   \n",
       "Across the Universe                      2007      133     7.4   95172   \n",
       "Let's Be Cops                            2014      104     6.5  112729   \n",
       "Max                                      2015      111     6.8   21405   \n",
       "Your Highness                            2011      102     5.6   87904   \n",
       "Final Destination 5                      2011       92     5.9   88000   \n",
       "Endless Love                             2014      104     6.3   33688   \n",
       "Underworld: Rise of the Lycans           2009       92     6.6  129708   \n",
       "Taare Zameen Par                         2007      165     8.5  102697   \n",
       "Resident Evil: Afterlife                 2010       97     5.9  140900   \n",
       "Project X                                2012       88     6.7  164088   \n",
       "Hostel: Part II                          2007       94     5.5   73152   \n",
       "Step Up 2: The Streets                   2008       98     6.2   70699   \n",
       "Nine Lives                               2016       87     5.3   12435   \n",
       "\n",
       "                                         revenue_millions  metascore  \n",
       "Title                                                                 \n",
       "Guardians of the Galaxy                            333.13       76.0  \n",
       "Prometheus                                         126.46       65.0  \n",
       "Split                                              138.12       62.0  \n",
       "Sing                                               270.32       59.0  \n",
       "Suicide Squad                                      325.02       40.0  \n",
       "The Great Wall                                      45.13       42.0  \n",
       "La La Land                                         151.06       93.0  \n",
       "The Lost City of Z                                   8.01       78.0  \n",
       "Passengers                                         100.01       41.0  \n",
       "Fantastic Beasts and Where to Find Them            234.02       66.0  \n",
       "Hidden Figures                                     169.27       74.0  \n",
       "Rogue One                                          532.17       65.0  \n",
       "Moana                                              248.75       81.0  \n",
       "Colossal                                             2.87       70.0  \n",
       "The Secret Life of Pets                            368.31       61.0  \n",
       "Hacksaw Ridge                                       67.12       71.0  \n",
       "Jason Bourne                                       162.16       58.0  \n",
       "Lion                                                51.69       69.0  \n",
       "Arrival                                            100.50       81.0  \n",
       "Gold                                                 7.22       49.0  \n",
       "Manchester by the Sea                               47.70       96.0  \n",
       "Trolls                                             153.69       56.0  \n",
       "Independence Day: Resurgence                       103.14       32.0  \n",
       "Bad Moms                                           113.08       60.0  \n",
       "Assassin's Creed                                    54.65       36.0  \n",
       "Why Him?                                            60.31       39.0  \n",
       "Nocturnal Animals                                   10.64       67.0  \n",
       "X-Men: Apocalypse                                  155.33       52.0  \n",
       "Deadpool                                           363.02       65.0  \n",
       "Resident Evil: The Final Chapter                    26.84       49.0  \n",
       "...                                                   ...        ...  \n",
       "That Awkward Moment                                 26.05       36.0  \n",
       "Legion                                              40.17       32.0  \n",
       "End of Watch                                        40.98       68.0  \n",
       "3 Days to Kill                                      30.69       40.0  \n",
       "Lucky Number Slevin                                 22.49       53.0  \n",
       "Trance                                               2.32       61.0  \n",
       "Into the Forest                                      0.01       59.0  \n",
       "The Other Boleyn Girl                               26.81       50.0  \n",
       "I Spit on Your Grave                                 0.09       27.0  \n",
       "Texas Chainsaw 3D                                   34.33       62.0  \n",
       "Rock of Ages                                        38.51       47.0  \n",
       "Scream 4                                            38.18       52.0  \n",
       "Queen of Katwe                                       8.81       73.0  \n",
       "My Big Fat Greek Wedding 2                          59.57       37.0  \n",
       "The Skin I Live In                                   3.19       70.0  \n",
       "Miracles from Heaven                                61.69       44.0  \n",
       "Annie                                               85.91       33.0  \n",
       "Across the Universe                                 24.34       56.0  \n",
       "Let's Be Cops                                       82.39       30.0  \n",
       "Max                                                 42.65       47.0  \n",
       "Your Highness                                       21.56       31.0  \n",
       "Final Destination 5                                 42.58       50.0  \n",
       "Endless Love                                        23.39       30.0  \n",
       "Underworld: Rise of the Lycans                      45.80       44.0  \n",
       "Taare Zameen Par                                     1.20       42.0  \n",
       "Resident Evil: Afterlife                            60.13       37.0  \n",
       "Project X                                           54.72       48.0  \n",
       "Hostel: Part II                                     17.54       46.0  \n",
       "Step Up 2: The Streets                              58.01       50.0  \n",
       "Nine Lives                                          19.64       11.0  \n",
       "\n",
       "[838 rows x 11 columns]"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df.dropna()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This operation will delete any **row** with at least a single null value, but it will return a new DataFrame without altering the original one. You could specify `inplace=True` in this method as well.\n",
    "\n",
    "So in the case of our dataset, this operation would remove 128 rows where `revenue_millions` is null and 64 rows where `metascore` is null. This obviously seems like a waste since there's perfectly good data in the other columns of those dropped rows. That's why we'll look at imputation next.\n",
    "\n",
    "Other than just dropping rows, you can also drop columns with null values by setting `axis=1`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rank</th>\n",
       "      <th>genre</th>\n",
       "      <th>description</th>\n",
       "      <th>director</th>\n",
       "      <th>actors</th>\n",
       "      <th>year</th>\n",
       "      <th>runtime</th>\n",
       "      <th>rating</th>\n",
       "      <th>votes</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Title</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Guardians of the Galaxy</th>\n",
       "      <td>1</td>\n",
       "      <td>Action,Adventure,Sci-Fi</td>\n",
       "      <td>A group of intergalactic criminals are forced ...</td>\n",
       "      <td>James Gunn</td>\n",
       "      <td>Chris Pratt, Vin Diesel, Bradley Cooper, Zoe S...</td>\n",
       "      <td>2014</td>\n",
       "      <td>121</td>\n",
       "      <td>8.1</td>\n",
       "      <td>757074</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Prometheus</th>\n",
       "      <td>2</td>\n",
       "      <td>Adventure,Mystery,Sci-Fi</td>\n",
       "      <td>Following clues to the origin of mankind, a te...</td>\n",
       "      <td>Ridley Scott</td>\n",
       "      <td>Noomi Rapace, Logan Marshall-Green, Michael Fa...</td>\n",
       "      <td>2012</td>\n",
       "      <td>124</td>\n",
       "      <td>7.0</td>\n",
       "      <td>485820</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Split</th>\n",
       "      <td>3</td>\n",
       "      <td>Horror,Thriller</td>\n",
       "      <td>Three girls are kidnapped by a man with a diag...</td>\n",
       "      <td>M. Night Shyamalan</td>\n",
       "      <td>James McAvoy, Anya Taylor-Joy, Haley Lu Richar...</td>\n",
       "      <td>2016</td>\n",
       "      <td>117</td>\n",
       "      <td>7.3</td>\n",
       "      <td>157606</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sing</th>\n",
       "      <td>4</td>\n",
       "      <td>Animation,Comedy,Family</td>\n",
       "      <td>In a city of humanoid animals, a hustling thea...</td>\n",
       "      <td>Christophe Lourdelet</td>\n",
       "      <td>Matthew McConaughey,Reese Witherspoon, Seth Ma...</td>\n",
       "      <td>2016</td>\n",
       "      <td>108</td>\n",
       "      <td>7.2</td>\n",
       "      <td>60545</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Suicide Squad</th>\n",
       "      <td>5</td>\n",
       "      <td>Action,Adventure,Fantasy</td>\n",
       "      <td>A secret government agency recruits some of th...</td>\n",
       "      <td>David Ayer</td>\n",
       "      <td>Will Smith, Jared Leto, Margot Robbie, Viola D...</td>\n",
       "      <td>2016</td>\n",
       "      <td>123</td>\n",
       "      <td>6.2</td>\n",
       "      <td>393727</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>The Great Wall</th>\n",
       "      <td>6</td>\n",
       "      <td>Action,Adventure,Fantasy</td>\n",
       "      <td>European mercenaries searching for black powde...</td>\n",
       "      <td>Yimou Zhang</td>\n",
       "      <td>Matt Damon, Tian Jing, Willem Dafoe, Andy Lau</td>\n",
       "      <td>2016</td>\n",
       "      <td>103</td>\n",
       "      <td>6.1</td>\n",
       "      <td>56036</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>La La Land</th>\n",
       "      <td>7</td>\n",
       "      <td>Comedy,Drama,Music</td>\n",
       "      <td>A jazz pianist falls for an aspiring actress i...</td>\n",
       "      <td>Damien Chazelle</td>\n",
       "      <td>Ryan Gosling, Emma Stone, Rosemarie DeWitt, J....</td>\n",
       "      <td>2016</td>\n",
       "      <td>128</td>\n",
       "      <td>8.3</td>\n",
       "      <td>258682</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Mindhorn</th>\n",
       "      <td>8</td>\n",
       "      <td>Comedy</td>\n",
       "      <td>A has-been actor best known for playing the ti...</td>\n",
       "      <td>Sean Foley</td>\n",
       "      <td>Essie Davis, Andrea Riseborough, Julian Barrat...</td>\n",
       "      <td>2016</td>\n",
       "      <td>89</td>\n",
       "      <td>6.4</td>\n",
       "      <td>2490</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>The Lost City of Z</th>\n",
       "      <td>9</td>\n",
       "      <td>Action,Adventure,Biography</td>\n",
       "      <td>A true-life drama, centering on British explor...</td>\n",
       "      <td>James Gray</td>\n",
       "      <td>Charlie Hunnam, Robert Pattinson, Sienna Mille...</td>\n",
       "      <td>2016</td>\n",
       "      <td>141</td>\n",
       "      <td>7.1</td>\n",
       "      <td>7188</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Passengers</th>\n",
       "      <td>10</td>\n",
       "      <td>Adventure,Drama,Romance</td>\n",
       "      <td>A spacecraft traveling to a distant colony pla...</td>\n",
       "      <td>Morten Tyldum</td>\n",
       "      <td>Jennifer Lawrence, Chris Pratt, Michael Sheen,...</td>\n",
       "      <td>2016</td>\n",
       "      <td>116</td>\n",
       "      <td>7.0</td>\n",
       "      <td>192177</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Fantastic Beasts and Where to Find Them</th>\n",
       "      <td>11</td>\n",
       "      <td>Adventure,Family,Fantasy</td>\n",
       "      <td>The adventures of writer Newt Scamander in New...</td>\n",
       "      <td>David Yates</td>\n",
       "      <td>Eddie Redmayne, Katherine Waterston, Alison Su...</td>\n",
       "      <td>2016</td>\n",
       "      <td>133</td>\n",
       "      <td>7.5</td>\n",
       "      <td>232072</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hidden Figures</th>\n",
       "      <td>12</td>\n",
       "      <td>Biography,Drama,History</td>\n",
       "      <td>The story of a team of female African-American...</td>\n",
       "      <td>Theodore Melfi</td>\n",
       "      <td>Taraji P. Henson, Octavia Spencer, Janelle Mon...</td>\n",
       "      <td>2016</td>\n",
       "      <td>127</td>\n",
       "      <td>7.8</td>\n",
       "      <td>93103</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Rogue One</th>\n",
       "      <td>13</td>\n",
       "      <td>Action,Adventure,Sci-Fi</td>\n",
       "      <td>The Rebel Alliance makes a risky move to steal...</td>\n",
       "      <td>Gareth Edwards</td>\n",
       "      <td>Felicity Jones, Diego Luna, Alan Tudyk, Donnie...</td>\n",
       "      <td>2016</td>\n",
       "      <td>133</td>\n",
       "      <td>7.9</td>\n",
       "      <td>323118</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Moana</th>\n",
       "      <td>14</td>\n",
       "      <td>Animation,Adventure,Comedy</td>\n",
       "      <td>In Ancient Polynesia, when a terrible curse in...</td>\n",
       "      <td>Ron Clements</td>\n",
       "      <td>Auli'i Cravalho, Dwayne Johnson, Rachel House,...</td>\n",
       "      <td>2016</td>\n",
       "      <td>107</td>\n",
       "      <td>7.7</td>\n",
       "      <td>118151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Colossal</th>\n",
       "      <td>15</td>\n",
       "      <td>Action,Comedy,Drama</td>\n",
       "      <td>Gloria is an out-of-work party girl forced to ...</td>\n",
       "      <td>Nacho Vigalondo</td>\n",
       "      <td>Anne Hathaway, Jason Sudeikis, Austin Stowell,...</td>\n",
       "      <td>2016</td>\n",
       "      <td>109</td>\n",
       "      <td>6.4</td>\n",
       "      <td>8612</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>The Secret Life of Pets</th>\n",
       "      <td>16</td>\n",
       "      <td>Animation,Adventure,Comedy</td>\n",
       "      <td>The quiet life of a terrier named Max is upend...</td>\n",
       "      <td>Chris Renaud</td>\n",
       "      <td>Louis C.K., Eric Stonestreet, Kevin Hart, Lake...</td>\n",
       "      <td>2016</td>\n",
       "      <td>87</td>\n",
       "      <td>6.6</td>\n",
       "      <td>120259</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hacksaw Ridge</th>\n",
       "      <td>17</td>\n",
       "      <td>Biography,Drama,History</td>\n",
       "      <td>WWII American Army Medic Desmond T. Doss, who ...</td>\n",
       "      <td>Mel Gibson</td>\n",
       "      <td>Andrew Garfield, Sam Worthington, Luke Bracey,...</td>\n",
       "      <td>2016</td>\n",
       "      <td>139</td>\n",
       "      <td>8.2</td>\n",
       "      <td>211760</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Jason Bourne</th>\n",
       "      <td>18</td>\n",
       "      <td>Action,Thriller</td>\n",
       "      <td>The CIA's most dangerous former operative is d...</td>\n",
       "      <td>Paul Greengrass</td>\n",
       "      <td>Matt Damon, Tommy Lee Jones, Alicia Vikander,V...</td>\n",
       "      <td>2016</td>\n",
       "      <td>123</td>\n",
       "      <td>6.7</td>\n",
       "      <td>150823</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Lion</th>\n",
       "      <td>19</td>\n",
       "      <td>Biography,Drama</td>\n",
       "      <td>A five-year-old Indian boy gets lost on the st...</td>\n",
       "      <td>Garth Davis</td>\n",
       "      <td>Dev Patel, Nicole Kidman, Rooney Mara, Sunny P...</td>\n",
       "      <td>2016</td>\n",
       "      <td>118</td>\n",
       "      <td>8.1</td>\n",
       "      <td>102061</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Arrival</th>\n",
       "      <td>20</td>\n",
       "      <td>Drama,Mystery,Sci-Fi</td>\n",
       "      <td>When twelve mysterious spacecraft appear aroun...</td>\n",
       "      <td>Denis Villeneuve</td>\n",
       "      <td>Amy Adams, Jeremy Renner, Forest Whitaker,Mich...</td>\n",
       "      <td>2016</td>\n",
       "      <td>116</td>\n",
       "      <td>8.0</td>\n",
       "      <td>340798</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Gold</th>\n",
       "      <td>21</td>\n",
       "      <td>Adventure,Drama,Thriller</td>\n",
       "      <td>Kenny Wells, a prospector desperate for a luck...</td>\n",
       "      <td>Stephen Gaghan</td>\n",
       "      <td>Matthew McConaughey, Edgar Ramírez, Bryce Dall...</td>\n",
       "      <td>2016</td>\n",
       "      <td>120</td>\n",
       "      <td>6.7</td>\n",
       "      <td>19053</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Manchester by the Sea</th>\n",
       "      <td>22</td>\n",
       "      <td>Drama</td>\n",
       "      <td>A depressed uncle is asked to take care of his...</td>\n",
       "      <td>Kenneth Lonergan</td>\n",
       "      <td>Casey Affleck, Michelle Williams, Kyle Chandle...</td>\n",
       "      <td>2016</td>\n",
       "      <td>137</td>\n",
       "      <td>7.9</td>\n",
       "      <td>134213</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hounds of Love</th>\n",
       "      <td>23</td>\n",
       "      <td>Crime,Drama,Horror</td>\n",
       "      <td>A cold-blooded predatory couple while cruising...</td>\n",
       "      <td>Ben Young</td>\n",
       "      <td>Emma Booth, Ashleigh Cummings, Stephen Curry,S...</td>\n",
       "      <td>2016</td>\n",
       "      <td>108</td>\n",
       "      <td>6.7</td>\n",
       "      <td>1115</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Trolls</th>\n",
       "      <td>24</td>\n",
       "      <td>Animation,Adventure,Comedy</td>\n",
       "      <td>After the Bergens invade Troll Village, Poppy,...</td>\n",
       "      <td>Walt Dohrn</td>\n",
       "      <td>Anna Kendrick, Justin Timberlake,Zooey Deschan...</td>\n",
       "      <td>2016</td>\n",
       "      <td>92</td>\n",
       "      <td>6.5</td>\n",
       "      <td>38552</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Independence Day: Resurgence</th>\n",
       "      <td>25</td>\n",
       "      <td>Action,Adventure,Sci-Fi</td>\n",
       "      <td>Two decades after the first Independence Day i...</td>\n",
       "      <td>Roland Emmerich</td>\n",
       "      <td>Liam Hemsworth, Jeff Goldblum, Bill Pullman,Ma...</td>\n",
       "      <td>2016</td>\n",
       "      <td>120</td>\n",
       "      <td>5.3</td>\n",
       "      <td>127553</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Paris pieds nus</th>\n",
       "      <td>26</td>\n",
       "      <td>Comedy</td>\n",
       "      <td>Fiona visits Paris for the first time to assis...</td>\n",
       "      <td>Dominique Abel</td>\n",
       "      <td>Fiona Gordon, Dominique Abel,Emmanuelle Riva, ...</td>\n",
       "      <td>2016</td>\n",
       "      <td>83</td>\n",
       "      <td>6.8</td>\n",
       "      <td>222</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Bahubali: The Beginning</th>\n",
       "      <td>27</td>\n",
       "      <td>Action,Adventure,Drama</td>\n",
       "      <td>In ancient India, an adventurous and daring ma...</td>\n",
       "      <td>S.S. Rajamouli</td>\n",
       "      <td>Prabhas, Rana Daggubati, Anushka Shetty,Tamann...</td>\n",
       "      <td>2015</td>\n",
       "      <td>159</td>\n",
       "      <td>8.3</td>\n",
       "      <td>76193</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Dead Awake</th>\n",
       "      <td>28</td>\n",
       "      <td>Horror,Thriller</td>\n",
       "      <td>A young woman must save herself and her friend...</td>\n",
       "      <td>Phillip Guzman</td>\n",
       "      <td>Jocelin Donahue, Jesse Bradford, Jesse Borrego...</td>\n",
       "      <td>2016</td>\n",
       "      <td>99</td>\n",
       "      <td>4.7</td>\n",
       "      <td>523</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Bad Moms</th>\n",
       "      <td>29</td>\n",
       "      <td>Comedy</td>\n",
       "      <td>When three overworked and under-appreciated mo...</td>\n",
       "      <td>Jon Lucas</td>\n",
       "      <td>Mila Kunis, Kathryn Hahn, Kristen Bell,Christi...</td>\n",
       "      <td>2016</td>\n",
       "      <td>100</td>\n",
       "      <td>6.2</td>\n",
       "      <td>66540</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Assassin's Creed</th>\n",
       "      <td>30</td>\n",
       "      <td>Action,Adventure,Drama</td>\n",
       "      <td>When Callum Lynch explores the memories of his...</td>\n",
       "      <td>Justin Kurzel</td>\n",
       "      <td>Michael Fassbender, Marion Cotillard, Jeremy I...</td>\n",
       "      <td>2016</td>\n",
       "      <td>115</td>\n",
       "      <td>5.9</td>\n",
       "      <td>112813</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Texas Chainsaw 3D</th>\n",
       "      <td>971</td>\n",
       "      <td>Horror,Thriller</td>\n",
       "      <td>A young woman travels to Texas to collect an i...</td>\n",
       "      <td>John Luessenhop</td>\n",
       "      <td>Alexandra Daddario, Tania Raymonde, Scott East...</td>\n",
       "      <td>2013</td>\n",
       "      <td>92</td>\n",
       "      <td>4.8</td>\n",
       "      <td>37060</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Disturbia</th>\n",
       "      <td>972</td>\n",
       "      <td>Drama,Mystery,Thriller</td>\n",
       "      <td>A teen living under house arrest becomes convi...</td>\n",
       "      <td>D.J. Caruso</td>\n",
       "      <td>Shia LaBeouf, David Morse, Carrie-Anne Moss, S...</td>\n",
       "      <td>2007</td>\n",
       "      <td>105</td>\n",
       "      <td>6.9</td>\n",
       "      <td>193491</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Rock of Ages</th>\n",
       "      <td>973</td>\n",
       "      <td>Comedy,Drama,Musical</td>\n",
       "      <td>A small town girl and a city boy meet on the S...</td>\n",
       "      <td>Adam Shankman</td>\n",
       "      <td>Julianne Hough, Diego Boneta, Tom Cruise, Alec...</td>\n",
       "      <td>2012</td>\n",
       "      <td>123</td>\n",
       "      <td>5.9</td>\n",
       "      <td>64513</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Scream 4</th>\n",
       "      <td>974</td>\n",
       "      <td>Horror,Mystery</td>\n",
       "      <td>Ten years have passed, and Sidney Prescott, wh...</td>\n",
       "      <td>Wes Craven</td>\n",
       "      <td>Neve Campbell, Courteney Cox, David Arquette, ...</td>\n",
       "      <td>2011</td>\n",
       "      <td>111</td>\n",
       "      <td>6.2</td>\n",
       "      <td>108544</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Queen of Katwe</th>\n",
       "      <td>975</td>\n",
       "      <td>Biography,Drama,Sport</td>\n",
       "      <td>A Ugandan girl sees her world rapidly change a...</td>\n",
       "      <td>Mira Nair</td>\n",
       "      <td>Madina Nalwanga, David Oyelowo, Lupita Nyong'o...</td>\n",
       "      <td>2016</td>\n",
       "      <td>124</td>\n",
       "      <td>7.4</td>\n",
       "      <td>6753</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>My Big Fat Greek Wedding 2</th>\n",
       "      <td>976</td>\n",
       "      <td>Comedy,Family,Romance</td>\n",
       "      <td>A Portokalos family secret brings the beloved ...</td>\n",
       "      <td>Kirk Jones</td>\n",
       "      <td>Nia Vardalos, John Corbett, Michael Constantin...</td>\n",
       "      <td>2016</td>\n",
       "      <td>94</td>\n",
       "      <td>6.0</td>\n",
       "      <td>20966</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Dark Places</th>\n",
       "      <td>977</td>\n",
       "      <td>Drama,Mystery,Thriller</td>\n",
       "      <td>Libby Day was only eight years old when her fa...</td>\n",
       "      <td>Gilles Paquet-Brenner</td>\n",
       "      <td>Charlize Theron, Nicholas Hoult, Christina Hen...</td>\n",
       "      <td>2015</td>\n",
       "      <td>113</td>\n",
       "      <td>6.2</td>\n",
       "      <td>31634</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Amateur Night</th>\n",
       "      <td>978</td>\n",
       "      <td>Comedy</td>\n",
       "      <td>Guy Carter is an award-winning graduate studen...</td>\n",
       "      <td>Lisa Addario</td>\n",
       "      <td>Jason Biggs, Janet Montgomery,Ashley Tisdale, ...</td>\n",
       "      <td>2016</td>\n",
       "      <td>92</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2229</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>It's Only the End of the World</th>\n",
       "      <td>979</td>\n",
       "      <td>Drama</td>\n",
       "      <td>Louis (Gaspard Ulliel), a terminally ill write...</td>\n",
       "      <td>Xavier Dolan</td>\n",
       "      <td>Nathalie Baye, Vincent Cassel, Marion Cotillar...</td>\n",
       "      <td>2016</td>\n",
       "      <td>97</td>\n",
       "      <td>7.0</td>\n",
       "      <td>10658</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>The Skin I Live In</th>\n",
       "      <td>980</td>\n",
       "      <td>Drama,Thriller</td>\n",
       "      <td>A brilliant plastic surgeon, haunted by past t...</td>\n",
       "      <td>Pedro Almodóvar</td>\n",
       "      <td>Antonio Banderas, Elena Anaya, Jan Cornet,Mari...</td>\n",
       "      <td>2011</td>\n",
       "      <td>120</td>\n",
       "      <td>7.6</td>\n",
       "      <td>108772</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Miracles from Heaven</th>\n",
       "      <td>981</td>\n",
       "      <td>Biography,Drama,Family</td>\n",
       "      <td>A young girl suffering from a rare digestive d...</td>\n",
       "      <td>Patricia Riggen</td>\n",
       "      <td>Jennifer Garner, Kylie Rogers, Martin Henderso...</td>\n",
       "      <td>2016</td>\n",
       "      <td>109</td>\n",
       "      <td>7.0</td>\n",
       "      <td>12048</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Annie</th>\n",
       "      <td>982</td>\n",
       "      <td>Comedy,Drama,Family</td>\n",
       "      <td>A foster kid, who lives with her mean foster m...</td>\n",
       "      <td>Will Gluck</td>\n",
       "      <td>Quvenzhané Wallis, Cameron Diaz, Jamie Foxx, R...</td>\n",
       "      <td>2014</td>\n",
       "      <td>118</td>\n",
       "      <td>5.3</td>\n",
       "      <td>27312</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Across the Universe</th>\n",
       "      <td>983</td>\n",
       "      <td>Drama,Fantasy,Musical</td>\n",
       "      <td>The music of the Beatles and the Vietnam War f...</td>\n",
       "      <td>Julie Taymor</td>\n",
       "      <td>Evan Rachel Wood, Jim Sturgess, Joe Anderson, ...</td>\n",
       "      <td>2007</td>\n",
       "      <td>133</td>\n",
       "      <td>7.4</td>\n",
       "      <td>95172</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Let's Be Cops</th>\n",
       "      <td>984</td>\n",
       "      <td>Comedy</td>\n",
       "      <td>Two struggling pals dress as police officers f...</td>\n",
       "      <td>Luke Greenfield</td>\n",
       "      <td>Jake Johnson, Damon Wayans Jr., Rob Riggle, Ni...</td>\n",
       "      <td>2014</td>\n",
       "      <td>104</td>\n",
       "      <td>6.5</td>\n",
       "      <td>112729</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Max</th>\n",
       "      <td>985</td>\n",
       "      <td>Adventure,Family</td>\n",
       "      <td>A Malinois dog that helped American Marines in...</td>\n",
       "      <td>Boaz Yakin</td>\n",
       "      <td>Thomas Haden Church, Josh Wiggins, Luke Kleint...</td>\n",
       "      <td>2015</td>\n",
       "      <td>111</td>\n",
       "      <td>6.8</td>\n",
       "      <td>21405</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Your Highness</th>\n",
       "      <td>986</td>\n",
       "      <td>Adventure,Comedy,Fantasy</td>\n",
       "      <td>When Prince Fabious's bride is kidnapped, he g...</td>\n",
       "      <td>David Gordon Green</td>\n",
       "      <td>Danny McBride, Natalie Portman, James Franco, ...</td>\n",
       "      <td>2011</td>\n",
       "      <td>102</td>\n",
       "      <td>5.6</td>\n",
       "      <td>87904</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Final Destination 5</th>\n",
       "      <td>987</td>\n",
       "      <td>Horror,Thriller</td>\n",
       "      <td>Survivors of a suspension-bridge collapse lear...</td>\n",
       "      <td>Steven Quale</td>\n",
       "      <td>Nicholas D'Agosto, Emma Bell, Arlen Escarpeta,...</td>\n",
       "      <td>2011</td>\n",
       "      <td>92</td>\n",
       "      <td>5.9</td>\n",
       "      <td>88000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Endless Love</th>\n",
       "      <td>988</td>\n",
       "      <td>Drama,Romance</td>\n",
       "      <td>The story of a privileged girl and a charismat...</td>\n",
       "      <td>Shana Feste</td>\n",
       "      <td>Gabriella Wilde, Alex Pettyfer, Bruce Greenwoo...</td>\n",
       "      <td>2014</td>\n",
       "      <td>104</td>\n",
       "      <td>6.3</td>\n",
       "      <td>33688</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Martyrs</th>\n",
       "      <td>989</td>\n",
       "      <td>Horror</td>\n",
       "      <td>A young woman's quest for revenge against the ...</td>\n",
       "      <td>Pascal Laugier</td>\n",
       "      <td>Morjana Alaoui, Mylène Jampanoï, Catherine Bég...</td>\n",
       "      <td>2008</td>\n",
       "      <td>99</td>\n",
       "      <td>7.1</td>\n",
       "      <td>63785</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Selma</th>\n",
       "      <td>990</td>\n",
       "      <td>Biography,Drama,History</td>\n",
       "      <td>A chronicle of Martin Luther King's campaign t...</td>\n",
       "      <td>Ava DuVernay</td>\n",
       "      <td>David Oyelowo, Carmen Ejogo, Tim Roth, Lorrain...</td>\n",
       "      <td>2014</td>\n",
       "      <td>128</td>\n",
       "      <td>7.5</td>\n",
       "      <td>67637</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Underworld: Rise of the Lycans</th>\n",
       "      <td>991</td>\n",
       "      <td>Action,Adventure,Fantasy</td>\n",
       "      <td>An origins story centered on the centuries-old...</td>\n",
       "      <td>Patrick Tatopoulos</td>\n",
       "      <td>Rhona Mitra, Michael Sheen, Bill Nighy, Steven...</td>\n",
       "      <td>2009</td>\n",
       "      <td>92</td>\n",
       "      <td>6.6</td>\n",
       "      <td>129708</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Taare Zameen Par</th>\n",
       "      <td>992</td>\n",
       "      <td>Drama,Family,Music</td>\n",
       "      <td>An eight-year-old boy is thought to be a lazy ...</td>\n",
       "      <td>Aamir Khan</td>\n",
       "      <td>Darsheel Safary, Aamir Khan, Tanay Chheda, Sac...</td>\n",
       "      <td>2007</td>\n",
       "      <td>165</td>\n",
       "      <td>8.5</td>\n",
       "      <td>102697</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Take Me Home Tonight</th>\n",
       "      <td>993</td>\n",
       "      <td>Comedy,Drama,Romance</td>\n",
       "      <td>Four years after graduation, an awkward high s...</td>\n",
       "      <td>Michael Dowse</td>\n",
       "      <td>Topher Grace, Anna Faris, Dan Fogler, Teresa P...</td>\n",
       "      <td>2011</td>\n",
       "      <td>97</td>\n",
       "      <td>6.3</td>\n",
       "      <td>45419</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Resident Evil: Afterlife</th>\n",
       "      <td>994</td>\n",
       "      <td>Action,Adventure,Horror</td>\n",
       "      <td>While still out to destroy the evil Umbrella C...</td>\n",
       "      <td>Paul W.S. Anderson</td>\n",
       "      <td>Milla Jovovich, Ali Larter, Wentworth Miller,K...</td>\n",
       "      <td>2010</td>\n",
       "      <td>97</td>\n",
       "      <td>5.9</td>\n",
       "      <td>140900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Project X</th>\n",
       "      <td>995</td>\n",
       "      <td>Comedy</td>\n",
       "      <td>3 high school seniors throw a birthday party t...</td>\n",
       "      <td>Nima Nourizadeh</td>\n",
       "      <td>Thomas Mann, Oliver Cooper, Jonathan Daniel Br...</td>\n",
       "      <td>2012</td>\n",
       "      <td>88</td>\n",
       "      <td>6.7</td>\n",
       "      <td>164088</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Secret in Their Eyes</th>\n",
       "      <td>996</td>\n",
       "      <td>Crime,Drama,Mystery</td>\n",
       "      <td>A tight-knit team of rising investigators, alo...</td>\n",
       "      <td>Billy Ray</td>\n",
       "      <td>Chiwetel Ejiofor, Nicole Kidman, Julia Roberts...</td>\n",
       "      <td>2015</td>\n",
       "      <td>111</td>\n",
       "      <td>6.2</td>\n",
       "      <td>27585</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hostel: Part II</th>\n",
       "      <td>997</td>\n",
       "      <td>Horror</td>\n",
       "      <td>Three American college students studying abroa...</td>\n",
       "      <td>Eli Roth</td>\n",
       "      <td>Lauren German, Heather Matarazzo, Bijou Philli...</td>\n",
       "      <td>2007</td>\n",
       "      <td>94</td>\n",
       "      <td>5.5</td>\n",
       "      <td>73152</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Step Up 2: The Streets</th>\n",
       "      <td>998</td>\n",
       "      <td>Drama,Music,Romance</td>\n",
       "      <td>Romantic sparks occur between two dance studen...</td>\n",
       "      <td>Jon M. Chu</td>\n",
       "      <td>Robert Hoffman, Briana Evigan, Cassie Ventura,...</td>\n",
       "      <td>2008</td>\n",
       "      <td>98</td>\n",
       "      <td>6.2</td>\n",
       "      <td>70699</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Search Party</th>\n",
       "      <td>999</td>\n",
       "      <td>Adventure,Comedy</td>\n",
       "      <td>A pair of friends embark on a mission to reuni...</td>\n",
       "      <td>Scot Armstrong</td>\n",
       "      <td>Adam Pally, T.J. Miller, Thomas Middleditch,Sh...</td>\n",
       "      <td>2014</td>\n",
       "      <td>93</td>\n",
       "      <td>5.6</td>\n",
       "      <td>4881</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Nine Lives</th>\n",
       "      <td>1000</td>\n",
       "      <td>Comedy,Family,Fantasy</td>\n",
       "      <td>A stuffy businessman finds himself trapped ins...</td>\n",
       "      <td>Barry Sonnenfeld</td>\n",
       "      <td>Kevin Spacey, Jennifer Garner, Robbie Amell,Ch...</td>\n",
       "      <td>2016</td>\n",
       "      <td>87</td>\n",
       "      <td>5.3</td>\n",
       "      <td>12435</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1000 rows × 9 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                         rank                       genre  \\\n",
       "Title                                                                       \n",
       "Guardians of the Galaxy                     1     Action,Adventure,Sci-Fi   \n",
       "Prometheus                                  2    Adventure,Mystery,Sci-Fi   \n",
       "Split                                       3             Horror,Thriller   \n",
       "Sing                                        4     Animation,Comedy,Family   \n",
       "Suicide Squad                               5    Action,Adventure,Fantasy   \n",
       "The Great Wall                              6    Action,Adventure,Fantasy   \n",
       "La La Land                                  7          Comedy,Drama,Music   \n",
       "Mindhorn                                    8                      Comedy   \n",
       "The Lost City of Z                          9  Action,Adventure,Biography   \n",
       "Passengers                                 10     Adventure,Drama,Romance   \n",
       "Fantastic Beasts and Where to Find Them    11    Adventure,Family,Fantasy   \n",
       "Hidden Figures                             12     Biography,Drama,History   \n",
       "Rogue One                                  13     Action,Adventure,Sci-Fi   \n",
       "Moana                                      14  Animation,Adventure,Comedy   \n",
       "Colossal                                   15         Action,Comedy,Drama   \n",
       "The Secret Life of Pets                    16  Animation,Adventure,Comedy   \n",
       "Hacksaw Ridge                              17     Biography,Drama,History   \n",
       "Jason Bourne                               18             Action,Thriller   \n",
       "Lion                                       19             Biography,Drama   \n",
       "Arrival                                    20        Drama,Mystery,Sci-Fi   \n",
       "Gold                                       21    Adventure,Drama,Thriller   \n",
       "Manchester by the Sea                      22                       Drama   \n",
       "Hounds of Love                             23          Crime,Drama,Horror   \n",
       "Trolls                                     24  Animation,Adventure,Comedy   \n",
       "Independence Day: Resurgence               25     Action,Adventure,Sci-Fi   \n",
       "Paris pieds nus                            26                      Comedy   \n",
       "Bahubali: The Beginning                    27      Action,Adventure,Drama   \n",
       "Dead Awake                                 28             Horror,Thriller   \n",
       "Bad Moms                                   29                      Comedy   \n",
       "Assassin's Creed                           30      Action,Adventure,Drama   \n",
       "...                                       ...                         ...   \n",
       "Texas Chainsaw 3D                         971             Horror,Thriller   \n",
       "Disturbia                                 972      Drama,Mystery,Thriller   \n",
       "Rock of Ages                              973        Comedy,Drama,Musical   \n",
       "Scream 4                                  974              Horror,Mystery   \n",
       "Queen of Katwe                            975       Biography,Drama,Sport   \n",
       "My Big Fat Greek Wedding 2                976       Comedy,Family,Romance   \n",
       "Dark Places                               977      Drama,Mystery,Thriller   \n",
       "Amateur Night                             978                      Comedy   \n",
       "It's Only the End of the World            979                       Drama   \n",
       "The Skin I Live In                        980              Drama,Thriller   \n",
       "Miracles from Heaven                      981      Biography,Drama,Family   \n",
       "Annie                                     982         Comedy,Drama,Family   \n",
       "Across the Universe                       983       Drama,Fantasy,Musical   \n",
       "Let's Be Cops                             984                      Comedy   \n",
       "Max                                       985            Adventure,Family   \n",
       "Your Highness                             986    Adventure,Comedy,Fantasy   \n",
       "Final Destination 5                       987             Horror,Thriller   \n",
       "Endless Love                              988               Drama,Romance   \n",
       "Martyrs                                   989                      Horror   \n",
       "Selma                                     990     Biography,Drama,History   \n",
       "Underworld: Rise of the Lycans            991    Action,Adventure,Fantasy   \n",
       "Taare Zameen Par                          992          Drama,Family,Music   \n",
       "Take Me Home Tonight                      993        Comedy,Drama,Romance   \n",
       "Resident Evil: Afterlife                  994     Action,Adventure,Horror   \n",
       "Project X                                 995                      Comedy   \n",
       "Secret in Their Eyes                      996         Crime,Drama,Mystery   \n",
       "Hostel: Part II                           997                      Horror   \n",
       "Step Up 2: The Streets                    998         Drama,Music,Romance   \n",
       "Search Party                              999            Adventure,Comedy   \n",
       "Nine Lives                               1000       Comedy,Family,Fantasy   \n",
       "\n",
       "                                                                               description  \\\n",
       "Title                                                                                        \n",
       "Guardians of the Galaxy                  A group of intergalactic criminals are forced ...   \n",
       "Prometheus                               Following clues to the origin of mankind, a te...   \n",
       "Split                                    Three girls are kidnapped by a man with a diag...   \n",
       "Sing                                     In a city of humanoid animals, a hustling thea...   \n",
       "Suicide Squad                            A secret government agency recruits some of th...   \n",
       "The Great Wall                           European mercenaries searching for black powde...   \n",
       "La La Land                               A jazz pianist falls for an aspiring actress i...   \n",
       "Mindhorn                                 A has-been actor best known for playing the ti...   \n",
       "The Lost City of Z                       A true-life drama, centering on British explor...   \n",
       "Passengers                               A spacecraft traveling to a distant colony pla...   \n",
       "Fantastic Beasts and Where to Find Them  The adventures of writer Newt Scamander in New...   \n",
       "Hidden Figures                           The story of a team of female African-American...   \n",
       "Rogue One                                The Rebel Alliance makes a risky move to steal...   \n",
       "Moana                                    In Ancient Polynesia, when a terrible curse in...   \n",
       "Colossal                                 Gloria is an out-of-work party girl forced to ...   \n",
       "The Secret Life of Pets                  The quiet life of a terrier named Max is upend...   \n",
       "Hacksaw Ridge                            WWII American Army Medic Desmond T. Doss, who ...   \n",
       "Jason Bourne                             The CIA's most dangerous former operative is d...   \n",
       "Lion                                     A five-year-old Indian boy gets lost on the st...   \n",
       "Arrival                                  When twelve mysterious spacecraft appear aroun...   \n",
       "Gold                                     Kenny Wells, a prospector desperate for a luck...   \n",
       "Manchester by the Sea                    A depressed uncle is asked to take care of his...   \n",
       "Hounds of Love                           A cold-blooded predatory couple while cruising...   \n",
       "Trolls                                   After the Bergens invade Troll Village, Poppy,...   \n",
       "Independence Day: Resurgence             Two decades after the first Independence Day i...   \n",
       "Paris pieds nus                          Fiona visits Paris for the first time to assis...   \n",
       "Bahubali: The Beginning                  In ancient India, an adventurous and daring ma...   \n",
       "Dead Awake                               A young woman must save herself and her friend...   \n",
       "Bad Moms                                 When three overworked and under-appreciated mo...   \n",
       "Assassin's Creed                         When Callum Lynch explores the memories of his...   \n",
       "...                                                                                    ...   \n",
       "Texas Chainsaw 3D                        A young woman travels to Texas to collect an i...   \n",
       "Disturbia                                A teen living under house arrest becomes convi...   \n",
       "Rock of Ages                             A small town girl and a city boy meet on the S...   \n",
       "Scream 4                                 Ten years have passed, and Sidney Prescott, wh...   \n",
       "Queen of Katwe                           A Ugandan girl sees her world rapidly change a...   \n",
       "My Big Fat Greek Wedding 2               A Portokalos family secret brings the beloved ...   \n",
       "Dark Places                              Libby Day was only eight years old when her fa...   \n",
       "Amateur Night                            Guy Carter is an award-winning graduate studen...   \n",
       "It's Only the End of the World           Louis (Gaspard Ulliel), a terminally ill write...   \n",
       "The Skin I Live In                       A brilliant plastic surgeon, haunted by past t...   \n",
       "Miracles from Heaven                     A young girl suffering from a rare digestive d...   \n",
       "Annie                                    A foster kid, who lives with her mean foster m...   \n",
       "Across the Universe                      The music of the Beatles and the Vietnam War f...   \n",
       "Let's Be Cops                            Two struggling pals dress as police officers f...   \n",
       "Max                                      A Malinois dog that helped American Marines in...   \n",
       "Your Highness                            When Prince Fabious's bride is kidnapped, he g...   \n",
       "Final Destination 5                      Survivors of a suspension-bridge collapse lear...   \n",
       "Endless Love                             The story of a privileged girl and a charismat...   \n",
       "Martyrs                                  A young woman's quest for revenge against the ...   \n",
       "Selma                                    A chronicle of Martin Luther King's campaign t...   \n",
       "Underworld: Rise of the Lycans           An origins story centered on the centuries-old...   \n",
       "Taare Zameen Par                         An eight-year-old boy is thought to be a lazy ...   \n",
       "Take Me Home Tonight                     Four years after graduation, an awkward high s...   \n",
       "Resident Evil: Afterlife                 While still out to destroy the evil Umbrella C...   \n",
       "Project X                                3 high school seniors throw a birthday party t...   \n",
       "Secret in Their Eyes                     A tight-knit team of rising investigators, alo...   \n",
       "Hostel: Part II                          Three American college students studying abroa...   \n",
       "Step Up 2: The Streets                   Romantic sparks occur between two dance studen...   \n",
       "Search Party                             A pair of friends embark on a mission to reuni...   \n",
       "Nine Lives                               A stuffy businessman finds himself trapped ins...   \n",
       "\n",
       "                                                      director  \\\n",
       "Title                                                            \n",
       "Guardians of the Galaxy                             James Gunn   \n",
       "Prometheus                                        Ridley Scott   \n",
       "Split                                       M. Night Shyamalan   \n",
       "Sing                                      Christophe Lourdelet   \n",
       "Suicide Squad                                       David Ayer   \n",
       "The Great Wall                                     Yimou Zhang   \n",
       "La La Land                                     Damien Chazelle   \n",
       "Mindhorn                                            Sean Foley   \n",
       "The Lost City of Z                                  James Gray   \n",
       "Passengers                                       Morten Tyldum   \n",
       "Fantastic Beasts and Where to Find Them            David Yates   \n",
       "Hidden Figures                                  Theodore Melfi   \n",
       "Rogue One                                       Gareth Edwards   \n",
       "Moana                                             Ron Clements   \n",
       "Colossal                                       Nacho Vigalondo   \n",
       "The Secret Life of Pets                           Chris Renaud   \n",
       "Hacksaw Ridge                                       Mel Gibson   \n",
       "Jason Bourne                                   Paul Greengrass   \n",
       "Lion                                               Garth Davis   \n",
       "Arrival                                       Denis Villeneuve   \n",
       "Gold                                            Stephen Gaghan   \n",
       "Manchester by the Sea                         Kenneth Lonergan   \n",
       "Hounds of Love                                       Ben Young   \n",
       "Trolls                                              Walt Dohrn   \n",
       "Independence Day: Resurgence                   Roland Emmerich   \n",
       "Paris pieds nus                                 Dominique Abel   \n",
       "Bahubali: The Beginning                         S.S. Rajamouli   \n",
       "Dead Awake                                      Phillip Guzman   \n",
       "Bad Moms                                             Jon Lucas   \n",
       "Assassin's Creed                                 Justin Kurzel   \n",
       "...                                                        ...   \n",
       "Texas Chainsaw 3D                              John Luessenhop   \n",
       "Disturbia                                          D.J. Caruso   \n",
       "Rock of Ages                                     Adam Shankman   \n",
       "Scream 4                                            Wes Craven   \n",
       "Queen of Katwe                                       Mira Nair   \n",
       "My Big Fat Greek Wedding 2                          Kirk Jones   \n",
       "Dark Places                              Gilles Paquet-Brenner   \n",
       "Amateur Night                                     Lisa Addario   \n",
       "It's Only the End of the World                    Xavier Dolan   \n",
       "The Skin I Live In                             Pedro Almodóvar   \n",
       "Miracles from Heaven                           Patricia Riggen   \n",
       "Annie                                               Will Gluck   \n",
       "Across the Universe                               Julie Taymor   \n",
       "Let's Be Cops                                  Luke Greenfield   \n",
       "Max                                                 Boaz Yakin   \n",
       "Your Highness                               David Gordon Green   \n",
       "Final Destination 5                               Steven Quale   \n",
       "Endless Love                                       Shana Feste   \n",
       "Martyrs                                         Pascal Laugier   \n",
       "Selma                                             Ava DuVernay   \n",
       "Underworld: Rise of the Lycans              Patrick Tatopoulos   \n",
       "Taare Zameen Par                                    Aamir Khan   \n",
       "Take Me Home Tonight                             Michael Dowse   \n",
       "Resident Evil: Afterlife                    Paul W.S. Anderson   \n",
       "Project X                                      Nima Nourizadeh   \n",
       "Secret in Their Eyes                                 Billy Ray   \n",
       "Hostel: Part II                                       Eli Roth   \n",
       "Step Up 2: The Streets                              Jon M. Chu   \n",
       "Search Party                                    Scot Armstrong   \n",
       "Nine Lives                                    Barry Sonnenfeld   \n",
       "\n",
       "                                                                                    actors  \\\n",
       "Title                                                                                        \n",
       "Guardians of the Galaxy                  Chris Pratt, Vin Diesel, Bradley Cooper, Zoe S...   \n",
       "Prometheus                               Noomi Rapace, Logan Marshall-Green, Michael Fa...   \n",
       "Split                                    James McAvoy, Anya Taylor-Joy, Haley Lu Richar...   \n",
       "Sing                                     Matthew McConaughey,Reese Witherspoon, Seth Ma...   \n",
       "Suicide Squad                            Will Smith, Jared Leto, Margot Robbie, Viola D...   \n",
       "The Great Wall                               Matt Damon, Tian Jing, Willem Dafoe, Andy Lau   \n",
       "La La Land                               Ryan Gosling, Emma Stone, Rosemarie DeWitt, J....   \n",
       "Mindhorn                                 Essie Davis, Andrea Riseborough, Julian Barrat...   \n",
       "The Lost City of Z                       Charlie Hunnam, Robert Pattinson, Sienna Mille...   \n",
       "Passengers                               Jennifer Lawrence, Chris Pratt, Michael Sheen,...   \n",
       "Fantastic Beasts and Where to Find Them  Eddie Redmayne, Katherine Waterston, Alison Su...   \n",
       "Hidden Figures                           Taraji P. Henson, Octavia Spencer, Janelle Mon...   \n",
       "Rogue One                                Felicity Jones, Diego Luna, Alan Tudyk, Donnie...   \n",
       "Moana                                    Auli'i Cravalho, Dwayne Johnson, Rachel House,...   \n",
       "Colossal                                 Anne Hathaway, Jason Sudeikis, Austin Stowell,...   \n",
       "The Secret Life of Pets                  Louis C.K., Eric Stonestreet, Kevin Hart, Lake...   \n",
       "Hacksaw Ridge                            Andrew Garfield, Sam Worthington, Luke Bracey,...   \n",
       "Jason Bourne                             Matt Damon, Tommy Lee Jones, Alicia Vikander,V...   \n",
       "Lion                                     Dev Patel, Nicole Kidman, Rooney Mara, Sunny P...   \n",
       "Arrival                                  Amy Adams, Jeremy Renner, Forest Whitaker,Mich...   \n",
       "Gold                                     Matthew McConaughey, Edgar Ramírez, Bryce Dall...   \n",
       "Manchester by the Sea                    Casey Affleck, Michelle Williams, Kyle Chandle...   \n",
       "Hounds of Love                           Emma Booth, Ashleigh Cummings, Stephen Curry,S...   \n",
       "Trolls                                   Anna Kendrick, Justin Timberlake,Zooey Deschan...   \n",
       "Independence Day: Resurgence             Liam Hemsworth, Jeff Goldblum, Bill Pullman,Ma...   \n",
       "Paris pieds nus                          Fiona Gordon, Dominique Abel,Emmanuelle Riva, ...   \n",
       "Bahubali: The Beginning                  Prabhas, Rana Daggubati, Anushka Shetty,Tamann...   \n",
       "Dead Awake                               Jocelin Donahue, Jesse Bradford, Jesse Borrego...   \n",
       "Bad Moms                                 Mila Kunis, Kathryn Hahn, Kristen Bell,Christi...   \n",
       "Assassin's Creed                         Michael Fassbender, Marion Cotillard, Jeremy I...   \n",
       "...                                                                                    ...   \n",
       "Texas Chainsaw 3D                        Alexandra Daddario, Tania Raymonde, Scott East...   \n",
       "Disturbia                                Shia LaBeouf, David Morse, Carrie-Anne Moss, S...   \n",
       "Rock of Ages                             Julianne Hough, Diego Boneta, Tom Cruise, Alec...   \n",
       "Scream 4                                 Neve Campbell, Courteney Cox, David Arquette, ...   \n",
       "Queen of Katwe                           Madina Nalwanga, David Oyelowo, Lupita Nyong'o...   \n",
       "My Big Fat Greek Wedding 2               Nia Vardalos, John Corbett, Michael Constantin...   \n",
       "Dark Places                              Charlize Theron, Nicholas Hoult, Christina Hen...   \n",
       "Amateur Night                            Jason Biggs, Janet Montgomery,Ashley Tisdale, ...   \n",
       "It's Only the End of the World           Nathalie Baye, Vincent Cassel, Marion Cotillar...   \n",
       "The Skin I Live In                       Antonio Banderas, Elena Anaya, Jan Cornet,Mari...   \n",
       "Miracles from Heaven                     Jennifer Garner, Kylie Rogers, Martin Henderso...   \n",
       "Annie                                    Quvenzhané Wallis, Cameron Diaz, Jamie Foxx, R...   \n",
       "Across the Universe                      Evan Rachel Wood, Jim Sturgess, Joe Anderson, ...   \n",
       "Let's Be Cops                            Jake Johnson, Damon Wayans Jr., Rob Riggle, Ni...   \n",
       "Max                                      Thomas Haden Church, Josh Wiggins, Luke Kleint...   \n",
       "Your Highness                            Danny McBride, Natalie Portman, James Franco, ...   \n",
       "Final Destination 5                      Nicholas D'Agosto, Emma Bell, Arlen Escarpeta,...   \n",
       "Endless Love                             Gabriella Wilde, Alex Pettyfer, Bruce Greenwoo...   \n",
       "Martyrs                                  Morjana Alaoui, Mylène Jampanoï, Catherine Bég...   \n",
       "Selma                                    David Oyelowo, Carmen Ejogo, Tim Roth, Lorrain...   \n",
       "Underworld: Rise of the Lycans           Rhona Mitra, Michael Sheen, Bill Nighy, Steven...   \n",
       "Taare Zameen Par                         Darsheel Safary, Aamir Khan, Tanay Chheda, Sac...   \n",
       "Take Me Home Tonight                     Topher Grace, Anna Faris, Dan Fogler, Teresa P...   \n",
       "Resident Evil: Afterlife                 Milla Jovovich, Ali Larter, Wentworth Miller,K...   \n",
       "Project X                                Thomas Mann, Oliver Cooper, Jonathan Daniel Br...   \n",
       "Secret in Their Eyes                     Chiwetel Ejiofor, Nicole Kidman, Julia Roberts...   \n",
       "Hostel: Part II                          Lauren German, Heather Matarazzo, Bijou Philli...   \n",
       "Step Up 2: The Streets                   Robert Hoffman, Briana Evigan, Cassie Ventura,...   \n",
       "Search Party                             Adam Pally, T.J. Miller, Thomas Middleditch,Sh...   \n",
       "Nine Lives                               Kevin Spacey, Jennifer Garner, Robbie Amell,Ch...   \n",
       "\n",
       "                                         year  runtime  rating   votes  \n",
       "Title                                                                   \n",
       "Guardians of the Galaxy                  2014      121     8.1  757074  \n",
       "Prometheus                               2012      124     7.0  485820  \n",
       "Split                                    2016      117     7.3  157606  \n",
       "Sing                                     2016      108     7.2   60545  \n",
       "Suicide Squad                            2016      123     6.2  393727  \n",
       "The Great Wall                           2016      103     6.1   56036  \n",
       "La La Land                               2016      128     8.3  258682  \n",
       "Mindhorn                                 2016       89     6.4    2490  \n",
       "The Lost City of Z                       2016      141     7.1    7188  \n",
       "Passengers                               2016      116     7.0  192177  \n",
       "Fantastic Beasts and Where to Find Them  2016      133     7.5  232072  \n",
       "Hidden Figures                           2016      127     7.8   93103  \n",
       "Rogue One                                2016      133     7.9  323118  \n",
       "Moana                                    2016      107     7.7  118151  \n",
       "Colossal                                 2016      109     6.4    8612  \n",
       "The Secret Life of Pets                  2016       87     6.6  120259  \n",
       "Hacksaw Ridge                            2016      139     8.2  211760  \n",
       "Jason Bourne                             2016      123     6.7  150823  \n",
       "Lion                                     2016      118     8.1  102061  \n",
       "Arrival                                  2016      116     8.0  340798  \n",
       "Gold                                     2016      120     6.7   19053  \n",
       "Manchester by the Sea                    2016      137     7.9  134213  \n",
       "Hounds of Love                           2016      108     6.7    1115  \n",
       "Trolls                                   2016       92     6.5   38552  \n",
       "Independence Day: Resurgence             2016      120     5.3  127553  \n",
       "Paris pieds nus                          2016       83     6.8     222  \n",
       "Bahubali: The Beginning                  2015      159     8.3   76193  \n",
       "Dead Awake                               2016       99     4.7     523  \n",
       "Bad Moms                                 2016      100     6.2   66540  \n",
       "Assassin's Creed                         2016      115     5.9  112813  \n",
       "...                                       ...      ...     ...     ...  \n",
       "Texas Chainsaw 3D                        2013       92     4.8   37060  \n",
       "Disturbia                                2007      105     6.9  193491  \n",
       "Rock of Ages                             2012      123     5.9   64513  \n",
       "Scream 4                                 2011      111     6.2  108544  \n",
       "Queen of Katwe                           2016      124     7.4    6753  \n",
       "My Big Fat Greek Wedding 2               2016       94     6.0   20966  \n",
       "Dark Places                              2015      113     6.2   31634  \n",
       "Amateur Night                            2016       92     5.0    2229  \n",
       "It's Only the End of the World           2016       97     7.0   10658  \n",
       "The Skin I Live In                       2011      120     7.6  108772  \n",
       "Miracles from Heaven                     2016      109     7.0   12048  \n",
       "Annie                                    2014      118     5.3   27312  \n",
       "Across the Universe                      2007      133     7.4   95172  \n",
       "Let's Be Cops                            2014      104     6.5  112729  \n",
       "Max                                      2015      111     6.8   21405  \n",
       "Your Highness                            2011      102     5.6   87904  \n",
       "Final Destination 5                      2011       92     5.9   88000  \n",
       "Endless Love                             2014      104     6.3   33688  \n",
       "Martyrs                                  2008       99     7.1   63785  \n",
       "Selma                                    2014      128     7.5   67637  \n",
       "Underworld: Rise of the Lycans           2009       92     6.6  129708  \n",
       "Taare Zameen Par                         2007      165     8.5  102697  \n",
       "Take Me Home Tonight                     2011       97     6.3   45419  \n",
       "Resident Evil: Afterlife                 2010       97     5.9  140900  \n",
       "Project X                                2012       88     6.7  164088  \n",
       "Secret in Their Eyes                     2015      111     6.2   27585  \n",
       "Hostel: Part II                          2007       94     5.5   73152  \n",
       "Step Up 2: The Streets                   2008       98     6.2   70699  \n",
       "Search Party                             2014       93     5.6    4881  \n",
       "Nine Lives                               2016       87     5.3   12435  \n",
       "\n",
       "[1000 rows x 9 columns]"
      ]
     },
     "execution_count": 102,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df.dropna(axis=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In our dataset, this operation would drop the `revenue_millions` and `metascore` columns.\n",
    "\n",
    "**Intuition side note**: What's with this `axis=1` parameter?\n",
    "\n",
    "It's not immediately obvious where `axis` comes from and why you need it to be 1 for it to affect columns. To see why, just look at the `.shape` output:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1000, 11)"
      ]
     },
     "execution_count": 103,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As we learned above, this is a tuple that represents the shape of the DataFrame, i.e. 1000 rows and 11 columns. Note that the *rows* are at index zero of this tuple and *columns* are at **index one** of this tuple. This is why `axis=1` affects columns. This comes from NumPy, and is a great example of why learning NumPy is worth your time."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Imputation\n",
    "\n",
    "Imputation is a conventional feature engineering technique used to keep valuable data that have null values. \n",
    "\n",
    "There may be instances where dropping every row with a null value removes too big a chunk from your dataset, so instead we can impute that null with another value, usually the **mean** or the **median** of that column. \n",
    "\n",
    "Let's look at imputing the missing values in the `revenue_millions` column. First we'll extract that column into its own variable:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [],
   "source": [
    "revenue = movies_df['revenue_millions']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Using square brackets is the general way we select columns in a DataFrame. \n",
    "\n",
    "If you remember back to when we created DataFrames from scratch, the keys of the `dict` ended up as column names. Now when we select columns of a DataFrame, we use brackets just like if we were accessing a Python dictionary. \n",
    "\n",
    "`revenue` now contains a Series:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Title\n",
       "Guardians of the Galaxy    333.13\n",
       "Prometheus                 126.46\n",
       "Split                      138.12\n",
       "Sing                       270.32\n",
       "Suicide Squad              325.02\n",
       "Name: revenue_millions, dtype: float64"
      ]
     },
     "execution_count": 105,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "revenue.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Slightly different formatting than a DataFrame, but we still have our `Title` index. \n",
    "\n",
    "We'll impute the missing values of revenue using the mean. Here's the mean value:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "82.95637614678897"
      ]
     },
     "execution_count": 107,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "revenue_mean = revenue.mean()\n",
    "\n",
    "revenue_mean"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "With the mean, let's fill the nulls using `fillna()`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {},
   "outputs": [],
   "source": [
    "revenue.fillna(revenue_mean, inplace=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We have now replaced all nulls in `revenue` with the mean of the column. Notice that by using `inplace=True` we have actually affected the original `movies_df`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "rank                 0\n",
       "genre                0\n",
       "description          0\n",
       "director             0\n",
       "actors               0\n",
       "year                 0\n",
       "runtime              0\n",
       "rating               0\n",
       "votes                0\n",
       "revenue_millions     0\n",
       "metascore           64\n",
       "dtype: int64"
      ]
     },
     "execution_count": 114,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df.isnull().sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Imputing an entire column with the same value like this is a basic example. It would be a better idea to try a more granular imputation by Genre or Director. \n",
    "\n",
    "For example, you would find the mean of the revenue generated in each genre individually and impute the nulls in each genre with that genre's mean.\n",
    "\n",
    "Let's now look at more ways to examine and understand the dataset."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Understanding your variables"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Using `describe()` on an entire DataFrame we can get a summary of the distribution of continuous variables:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rank</th>\n",
       "      <th>year</th>\n",
       "      <th>runtime</th>\n",
       "      <th>rating</th>\n",
       "      <th>votes</th>\n",
       "      <th>revenue_millions</th>\n",
       "      <th>metascore</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>1000.000000</td>\n",
       "      <td>1000.000000</td>\n",
       "      <td>1000.000000</td>\n",
       "      <td>1000.000000</td>\n",
       "      <td>1.000000e+03</td>\n",
       "      <td>1000.000000</td>\n",
       "      <td>936.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>500.500000</td>\n",
       "      <td>2012.783000</td>\n",
       "      <td>113.172000</td>\n",
       "      <td>6.723200</td>\n",
       "      <td>1.698083e+05</td>\n",
       "      <td>82.956376</td>\n",
       "      <td>58.985043</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>288.819436</td>\n",
       "      <td>3.205962</td>\n",
       "      <td>18.810908</td>\n",
       "      <td>0.945429</td>\n",
       "      <td>1.887626e+05</td>\n",
       "      <td>96.412043</td>\n",
       "      <td>17.194757</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>2006.000000</td>\n",
       "      <td>66.000000</td>\n",
       "      <td>1.900000</td>\n",
       "      <td>6.100000e+01</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>11.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>250.750000</td>\n",
       "      <td>2010.000000</td>\n",
       "      <td>100.000000</td>\n",
       "      <td>6.200000</td>\n",
       "      <td>3.630900e+04</td>\n",
       "      <td>17.442500</td>\n",
       "      <td>47.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>500.500000</td>\n",
       "      <td>2014.000000</td>\n",
       "      <td>111.000000</td>\n",
       "      <td>6.800000</td>\n",
       "      <td>1.107990e+05</td>\n",
       "      <td>60.375000</td>\n",
       "      <td>59.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>750.250000</td>\n",
       "      <td>2016.000000</td>\n",
       "      <td>123.000000</td>\n",
       "      <td>7.400000</td>\n",
       "      <td>2.399098e+05</td>\n",
       "      <td>99.177500</td>\n",
       "      <td>72.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>1000.000000</td>\n",
       "      <td>2016.000000</td>\n",
       "      <td>191.000000</td>\n",
       "      <td>9.000000</td>\n",
       "      <td>1.791916e+06</td>\n",
       "      <td>936.630000</td>\n",
       "      <td>100.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              rank         year      runtime       rating         votes  \\\n",
       "count  1000.000000  1000.000000  1000.000000  1000.000000  1.000000e+03   \n",
       "mean    500.500000  2012.783000   113.172000     6.723200  1.698083e+05   \n",
       "std     288.819436     3.205962    18.810908     0.945429  1.887626e+05   \n",
       "min       1.000000  2006.000000    66.000000     1.900000  6.100000e+01   \n",
       "25%     250.750000  2010.000000   100.000000     6.200000  3.630900e+04   \n",
       "50%     500.500000  2014.000000   111.000000     6.800000  1.107990e+05   \n",
       "75%     750.250000  2016.000000   123.000000     7.400000  2.399098e+05   \n",
       "max    1000.000000  2016.000000   191.000000     9.000000  1.791916e+06   \n",
       "\n",
       "       revenue_millions   metascore  \n",
       "count       1000.000000  936.000000  \n",
       "mean          82.956376   58.985043  \n",
       "std           96.412043   17.194757  \n",
       "min            0.000000   11.000000  \n",
       "25%           17.442500   47.000000  \n",
       "50%           60.375000   59.500000  \n",
       "75%           99.177500   72.000000  \n",
       "max          936.630000  100.000000  "
      ]
     },
     "execution_count": 115,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Understanding which numbers are continuous also comes in handy when thinking about the type of plot to use to represent your data visually. \n",
    "\n",
    "`.describe()` can also be used on a categorical variable to get the count of rows, unique count of categories, top category, and freq of top category:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count                        1000\n",
       "unique                        207\n",
       "top       Action,Adventure,Sci-Fi\n",
       "freq                           50\n",
       "Name: genre, dtype: object"
      ]
     },
     "execution_count": 116,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df['genre'].describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This tells us that the genre column has 207 unique values, the top value is Action/Adventure/Sci-Fi, which shows up 50 times (freq).\n",
    "\n",
    "`.value_counts()` can tell us the frequency of all values in a column:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Action,Adventure,Sci-Fi       50\n",
       "Drama                         48\n",
       "Comedy,Drama,Romance          35\n",
       "Comedy                        32\n",
       "Drama,Romance                 31\n",
       "Action,Adventure,Fantasy      27\n",
       "Comedy,Drama                  27\n",
       "Animation,Adventure,Comedy    27\n",
       "Comedy,Romance                26\n",
       "Crime,Drama,Thriller          24\n",
       "Name: genre, dtype: int64"
      ]
     },
     "execution_count": 119,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df['genre'].value_counts().head(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Relationships between continuous variables"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "By using the correlation method `.corr()` we can generate the relationship between each continuous variable:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rank</th>\n",
       "      <th>year</th>\n",
       "      <th>runtime</th>\n",
       "      <th>rating</th>\n",
       "      <th>votes</th>\n",
       "      <th>revenue_millions</th>\n",
       "      <th>metascore</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>rank</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>-0.261605</td>\n",
       "      <td>-0.221739</td>\n",
       "      <td>-0.219555</td>\n",
       "      <td>-0.283876</td>\n",
       "      <td>-0.252996</td>\n",
       "      <td>-0.191869</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>year</th>\n",
       "      <td>-0.261605</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>-0.164900</td>\n",
       "      <td>-0.211219</td>\n",
       "      <td>-0.411904</td>\n",
       "      <td>-0.117562</td>\n",
       "      <td>-0.079305</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>runtime</th>\n",
       "      <td>-0.221739</td>\n",
       "      <td>-0.164900</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.392214</td>\n",
       "      <td>0.407062</td>\n",
       "      <td>0.247834</td>\n",
       "      <td>0.211978</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>rating</th>\n",
       "      <td>-0.219555</td>\n",
       "      <td>-0.211219</td>\n",
       "      <td>0.392214</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.511537</td>\n",
       "      <td>0.189527</td>\n",
       "      <td>0.631897</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>votes</th>\n",
       "      <td>-0.283876</td>\n",
       "      <td>-0.411904</td>\n",
       "      <td>0.407062</td>\n",
       "      <td>0.511537</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.607941</td>\n",
       "      <td>0.325684</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>revenue_millions</th>\n",
       "      <td>-0.252996</td>\n",
       "      <td>-0.117562</td>\n",
       "      <td>0.247834</td>\n",
       "      <td>0.189527</td>\n",
       "      <td>0.607941</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.133328</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>metascore</th>\n",
       "      <td>-0.191869</td>\n",
       "      <td>-0.079305</td>\n",
       "      <td>0.211978</td>\n",
       "      <td>0.631897</td>\n",
       "      <td>0.325684</td>\n",
       "      <td>0.133328</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                      rank      year   runtime    rating     votes  \\\n",
       "rank              1.000000 -0.261605 -0.221739 -0.219555 -0.283876   \n",
       "year             -0.261605  1.000000 -0.164900 -0.211219 -0.411904   \n",
       "runtime          -0.221739 -0.164900  1.000000  0.392214  0.407062   \n",
       "rating           -0.219555 -0.211219  0.392214  1.000000  0.511537   \n",
       "votes            -0.283876 -0.411904  0.407062  0.511537  1.000000   \n",
       "revenue_millions -0.252996 -0.117562  0.247834  0.189527  0.607941   \n",
       "metascore        -0.191869 -0.079305  0.211978  0.631897  0.325684   \n",
       "\n",
       "                  revenue_millions  metascore  \n",
       "rank                     -0.252996  -0.191869  \n",
       "year                     -0.117562  -0.079305  \n",
       "runtime                   0.247834   0.211978  \n",
       "rating                    0.189527   0.631897  \n",
       "votes                     0.607941   0.325684  \n",
       "revenue_millions          1.000000   0.133328  \n",
       "metascore                 0.133328   1.000000  "
      ]
     },
     "execution_count": 120,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df.corr()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Correlation tables are a numerical representation of the bivariate relationships in the dataset. \n",
    "\n",
    "Positive numbers indicate a positive correlation — one goes up the other goes up — and negative numbers represent an inverse correlation — one goes up the other goes down. 1.0 indicates a perfect correlation. \n",
    "\n",
    "So looking in the first row, first column we see `rank` has a perfect correlation with itself, which is obvious. On the other hand, the correlation between `votes` and `revenue_millions` is 0.6. A little more interesting.\n",
    "\n",
    "Examining bivariate relationships comes in handy when you have an outcome or dependent variable in mind and would like to see the features most correlated to the increase or decrease of the outcome. You can visually represent bivariate relationships with scatterplots (seen below in the plotting section). \n",
    "\n",
    "For a deeper look into data summarizations check out [Essential Statistics for Data Science](https://www.learndatasci.com/tutorials/data-science-statistics-using-python/).\n",
    "\n",
    "Let's now look more at manipulating DataFrames."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### DataFrame slicing, selecting, extracting\n",
    "\n",
    "Up until now we've focused on some basic summaries of our data. We've learned about simple column extraction using single brackets, and we imputed null values in a column using `fillna()`. Below are the other methods of slicing, selecting, and extracting you'll need to use constantly.\n",
    "\n",
    "It's important to note that, although many methods are the same, DataFrames and Series have different attributes, so you'll need be sure to know which type you are working with or else you will receive attribute errors. \n",
    "\n",
    "Let's look at working with columns first."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### By column\n",
    "\n",
    "You already saw how to extract a column using square brackets like this:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "pandas.core.series.Series"
      ]
     },
     "execution_count": 125,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "genre_col = movies_df['genre']\n",
    "\n",
    "type(genre_col)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This will return a *Series*. To extract a column as a *DataFrame*, you need to pass a list of column names. In our case that's just a single column:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "pandas.core.frame.DataFrame"
      ]
     },
     "execution_count": 126,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "genre_col = movies_df[['genre']]\n",
    "\n",
    "type(genre_col)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Since it's just a list, adding another column name is easy:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 127,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>genre</th>\n",
       "      <th>rating</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Title</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Guardians of the Galaxy</th>\n",
       "      <td>Action,Adventure,Sci-Fi</td>\n",
       "      <td>8.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Prometheus</th>\n",
       "      <td>Adventure,Mystery,Sci-Fi</td>\n",
       "      <td>7.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Split</th>\n",
       "      <td>Horror,Thriller</td>\n",
       "      <td>7.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sing</th>\n",
       "      <td>Animation,Comedy,Family</td>\n",
       "      <td>7.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Suicide Squad</th>\n",
       "      <td>Action,Adventure,Fantasy</td>\n",
       "      <td>6.2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                            genre  rating\n",
       "Title                                                    \n",
       "Guardians of the Galaxy   Action,Adventure,Sci-Fi     8.1\n",
       "Prometheus               Adventure,Mystery,Sci-Fi     7.0\n",
       "Split                             Horror,Thriller     7.3\n",
       "Sing                      Animation,Comedy,Family     7.2\n",
       "Suicide Squad            Action,Adventure,Fantasy     6.2"
      ]
     },
     "execution_count": 127,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "subset = movies_df[['genre', 'rating']]\n",
    "\n",
    "subset.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we'll look at getting data by rows."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### By rows"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For rows, we have two options: \n",
    "\n",
    "- `.loc` - **loc**ates by name\n",
    "- `.iloc`- **loc**ates by numerical **i**ndex\n",
    "\n",
    "Remember that we are still indexed by movie Title, so to use `.loc` we give it the Title of a movie:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "rank                                                                2\n",
       "genre                                        Adventure,Mystery,Sci-Fi\n",
       "description         Following clues to the origin of mankind, a te...\n",
       "director                                                 Ridley Scott\n",
       "actors              Noomi Rapace, Logan Marshall-Green, Michael Fa...\n",
       "year                                                             2012\n",
       "runtime                                                           124\n",
       "rating                                                              7\n",
       "votes                                                          485820\n",
       "revenue_millions                                               126.46\n",
       "metascore                                                          65\n",
       "Name: Prometheus, dtype: object"
      ]
     },
     "execution_count": 128,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "prom = movies_df.loc[\"Prometheus\"]\n",
    "\n",
    "prom"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "On the other hand, with `iloc` we give it the numerical index of Prometheus:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {},
   "outputs": [],
   "source": [
    "prom = movies_df.iloc[1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`loc` and `iloc` can be thought of as similar to Python `list` slicing. To show this even further, let's select multiple rows.\n",
    "\n",
    "How would you do it with a list? In Python, just slice with brackets like `example_list[1:4]`. It's works the same way in pandas:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 132,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rank</th>\n",
       "      <th>genre</th>\n",
       "      <th>description</th>\n",
       "      <th>director</th>\n",
       "      <th>actors</th>\n",
       "      <th>year</th>\n",
       "      <th>runtime</th>\n",
       "      <th>rating</th>\n",
       "      <th>votes</th>\n",
       "      <th>revenue_millions</th>\n",
       "      <th>metascore</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Title</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Prometheus</th>\n",
       "      <td>2</td>\n",
       "      <td>Adventure,Mystery,Sci-Fi</td>\n",
       "      <td>Following clues to the origin of mankind, a te...</td>\n",
       "      <td>Ridley Scott</td>\n",
       "      <td>Noomi Rapace, Logan Marshall-Green, Michael Fa...</td>\n",
       "      <td>2012</td>\n",
       "      <td>124</td>\n",
       "      <td>7.0</td>\n",
       "      <td>485820</td>\n",
       "      <td>126.46</td>\n",
       "      <td>65.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Split</th>\n",
       "      <td>3</td>\n",
       "      <td>Horror,Thriller</td>\n",
       "      <td>Three girls are kidnapped by a man with a diag...</td>\n",
       "      <td>M. Night Shyamalan</td>\n",
       "      <td>James McAvoy, Anya Taylor-Joy, Haley Lu Richar...</td>\n",
       "      <td>2016</td>\n",
       "      <td>117</td>\n",
       "      <td>7.3</td>\n",
       "      <td>157606</td>\n",
       "      <td>138.12</td>\n",
       "      <td>62.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sing</th>\n",
       "      <td>4</td>\n",
       "      <td>Animation,Comedy,Family</td>\n",
       "      <td>In a city of humanoid animals, a hustling thea...</td>\n",
       "      <td>Christophe Lourdelet</td>\n",
       "      <td>Matthew McConaughey,Reese Witherspoon, Seth Ma...</td>\n",
       "      <td>2016</td>\n",
       "      <td>108</td>\n",
       "      <td>7.2</td>\n",
       "      <td>60545</td>\n",
       "      <td>270.32</td>\n",
       "      <td>59.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            rank                     genre  \\\n",
       "Title                                        \n",
       "Prometheus     2  Adventure,Mystery,Sci-Fi   \n",
       "Split          3           Horror,Thriller   \n",
       "Sing           4   Animation,Comedy,Family   \n",
       "\n",
       "                                                  description  \\\n",
       "Title                                                           \n",
       "Prometheus  Following clues to the origin of mankind, a te...   \n",
       "Split       Three girls are kidnapped by a man with a diag...   \n",
       "Sing        In a city of humanoid animals, a hustling thea...   \n",
       "\n",
       "                        director  \\\n",
       "Title                              \n",
       "Prometheus          Ridley Scott   \n",
       "Split         M. Night Shyamalan   \n",
       "Sing        Christophe Lourdelet   \n",
       "\n",
       "                                                       actors  year  runtime  \\\n",
       "Title                                                                          \n",
       "Prometheus  Noomi Rapace, Logan Marshall-Green, Michael Fa...  2012      124   \n",
       "Split       James McAvoy, Anya Taylor-Joy, Haley Lu Richar...  2016      117   \n",
       "Sing        Matthew McConaughey,Reese Witherspoon, Seth Ma...  2016      108   \n",
       "\n",
       "            rating   votes  revenue_millions  metascore  \n",
       "Title                                                    \n",
       "Prometheus     7.0  485820            126.46       65.0  \n",
       "Split          7.3  157606            138.12       62.0  \n",
       "Sing           7.2   60545            270.32       59.0  "
      ]
     },
     "execution_count": 132,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movie_subset = movies_df.loc['Prometheus':'Sing']\n",
    "\n",
    "movie_subset = movies_df.iloc[1:4]\n",
    "\n",
    "movie_subset"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "One important distinction between using `.loc` and `.iloc` to select multiple rows is that `.loc` includes the movie *Sing* in the result, but when using `.iloc` we're getting rows 1:4 but the movie at index 4 (*Suicide Squad*) is not included. \n",
    "\n",
    "Slicing with `.iloc` follows the same rules as slicing with lists, the object at the index at the end is not included.\n",
    "\n",
    "#### Conditional selections\n",
    "We’ve gone over how to select columns and rows, but what if we want to make a conditional selection? \n",
    "\n",
    "For example, what if we want to filter our movies DataFrame to show only films directed by Ridley Scott or films with a rating greater than or equal to 8.0?\n",
    "\n",
    "To do that, we take a column from the DataFrame and apply a Boolean condition to it. Here's an example of a Boolean condition:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 134,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Title\n",
       "Guardians of the Galaxy    False\n",
       "Prometheus                  True\n",
       "Split                      False\n",
       "Sing                       False\n",
       "Suicide Squad              False\n",
       "Name: director, dtype: bool"
      ]
     },
     "execution_count": 134,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "condition = (movies_df['director'] == \"Ridley Scott\")\n",
    "\n",
    "condition.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Similar to `isnull()`, this returns a Series of True and False values: True for films directed by Ridley Scott and False for ones not directed by him. \n",
    "\n",
    "We want to filter out all movies not directed by Ridley Scott, in other words, we don’t want the False films. To return the rows where that condition is True we have to pass this operation into the DataFrame:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 180,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rank</th>\n",
       "      <th>genre</th>\n",
       "      <th>description</th>\n",
       "      <th>director</th>\n",
       "      <th>actors</th>\n",
       "      <th>year</th>\n",
       "      <th>runtime</th>\n",
       "      <th>rating</th>\n",
       "      <th>votes</th>\n",
       "      <th>revenue_millions</th>\n",
       "      <th>metascore</th>\n",
       "      <th>rating_category</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Title</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Prometheus</th>\n",
       "      <td>2</td>\n",
       "      <td>Adventure,Mystery,Sci-Fi</td>\n",
       "      <td>Following clues to the origin of mankind, a te...</td>\n",
       "      <td>Ridley Scott</td>\n",
       "      <td>Noomi Rapace, Logan Marshall-Green, Michael Fa...</td>\n",
       "      <td>2012</td>\n",
       "      <td>124</td>\n",
       "      <td>7.0</td>\n",
       "      <td>485820</td>\n",
       "      <td>126.46</td>\n",
       "      <td>65.0</td>\n",
       "      <td>bad</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>The Martian</th>\n",
       "      <td>103</td>\n",
       "      <td>Adventure,Drama,Sci-Fi</td>\n",
       "      <td>An astronaut becomes stranded on Mars after hi...</td>\n",
       "      <td>Ridley Scott</td>\n",
       "      <td>Matt Damon, Jessica Chastain, Kristen Wiig, Ka...</td>\n",
       "      <td>2015</td>\n",
       "      <td>144</td>\n",
       "      <td>8.0</td>\n",
       "      <td>556097</td>\n",
       "      <td>228.43</td>\n",
       "      <td>80.0</td>\n",
       "      <td>good</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Robin Hood</th>\n",
       "      <td>388</td>\n",
       "      <td>Action,Adventure,Drama</td>\n",
       "      <td>In 12th century England, Robin and his band of...</td>\n",
       "      <td>Ridley Scott</td>\n",
       "      <td>Russell Crowe, Cate Blanchett, Matthew Macfady...</td>\n",
       "      <td>2010</td>\n",
       "      <td>140</td>\n",
       "      <td>6.7</td>\n",
       "      <td>221117</td>\n",
       "      <td>105.22</td>\n",
       "      <td>53.0</td>\n",
       "      <td>bad</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>American Gangster</th>\n",
       "      <td>471</td>\n",
       "      <td>Biography,Crime,Drama</td>\n",
       "      <td>In 1970s America, a detective works to bring d...</td>\n",
       "      <td>Ridley Scott</td>\n",
       "      <td>Denzel Washington, Russell Crowe, Chiwetel Eji...</td>\n",
       "      <td>2007</td>\n",
       "      <td>157</td>\n",
       "      <td>7.8</td>\n",
       "      <td>337835</td>\n",
       "      <td>130.13</td>\n",
       "      <td>76.0</td>\n",
       "      <td>bad</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Exodus: Gods and Kings</th>\n",
       "      <td>517</td>\n",
       "      <td>Action,Adventure,Drama</td>\n",
       "      <td>The defiant leader Moses rises up against the ...</td>\n",
       "      <td>Ridley Scott</td>\n",
       "      <td>Christian Bale, Joel Edgerton, Ben Kingsley, S...</td>\n",
       "      <td>2014</td>\n",
       "      <td>150</td>\n",
       "      <td>6.0</td>\n",
       "      <td>137299</td>\n",
       "      <td>65.01</td>\n",
       "      <td>52.0</td>\n",
       "      <td>bad</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                        rank                     genre  \\\n",
       "Title                                                    \n",
       "Prometheus                 2  Adventure,Mystery,Sci-Fi   \n",
       "The Martian              103    Adventure,Drama,Sci-Fi   \n",
       "Robin Hood               388    Action,Adventure,Drama   \n",
       "American Gangster        471     Biography,Crime,Drama   \n",
       "Exodus: Gods and Kings   517    Action,Adventure,Drama   \n",
       "\n",
       "                                                              description  \\\n",
       "Title                                                                       \n",
       "Prometheus              Following clues to the origin of mankind, a te...   \n",
       "The Martian             An astronaut becomes stranded on Mars after hi...   \n",
       "Robin Hood              In 12th century England, Robin and his band of...   \n",
       "American Gangster       In 1970s America, a detective works to bring d...   \n",
       "Exodus: Gods and Kings  The defiant leader Moses rises up against the ...   \n",
       "\n",
       "                            director  \\\n",
       "Title                                  \n",
       "Prometheus              Ridley Scott   \n",
       "The Martian             Ridley Scott   \n",
       "Robin Hood              Ridley Scott   \n",
       "American Gangster       Ridley Scott   \n",
       "Exodus: Gods and Kings  Ridley Scott   \n",
       "\n",
       "                                                                   actors  \\\n",
       "Title                                                                       \n",
       "Prometheus              Noomi Rapace, Logan Marshall-Green, Michael Fa...   \n",
       "The Martian             Matt Damon, Jessica Chastain, Kristen Wiig, Ka...   \n",
       "Robin Hood              Russell Crowe, Cate Blanchett, Matthew Macfady...   \n",
       "American Gangster       Denzel Washington, Russell Crowe, Chiwetel Eji...   \n",
       "Exodus: Gods and Kings  Christian Bale, Joel Edgerton, Ben Kingsley, S...   \n",
       "\n",
       "                        year  runtime  rating   votes  revenue_millions  \\\n",
       "Title                                                                     \n",
       "Prometheus              2012      124     7.0  485820            126.46   \n",
       "The Martian             2015      144     8.0  556097            228.43   \n",
       "Robin Hood              2010      140     6.7  221117            105.22   \n",
       "American Gangster       2007      157     7.8  337835            130.13   \n",
       "Exodus: Gods and Kings  2014      150     6.0  137299             65.01   \n",
       "\n",
       "                        metascore rating_category  \n",
       "Title                                              \n",
       "Prometheus                   65.0             bad  \n",
       "The Martian                  80.0            good  \n",
       "Robin Hood                   53.0             bad  \n",
       "American Gangster            76.0             bad  \n",
       "Exodus: Gods and Kings       52.0             bad  "
      ]
     },
     "execution_count": 180,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df[movies_df['director'] == \"Ridley Scott\"].head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You can get used to looking at these conditionals by reading it like: \n",
    "\n",
    "> Select movies_df where movies_df director equals Ridley Scott\n",
    "\n",
    "Let's look at conditional selections using numerical values by filtering the DataFrame by ratings:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rank</th>\n",
       "      <th>genre</th>\n",
       "      <th>description</th>\n",
       "      <th>director</th>\n",
       "      <th>actors</th>\n",
       "      <th>year</th>\n",
       "      <th>runtime</th>\n",
       "      <th>rating</th>\n",
       "      <th>votes</th>\n",
       "      <th>revenue_millions</th>\n",
       "      <th>metascore</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Title</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Interstellar</th>\n",
       "      <td>37</td>\n",
       "      <td>Adventure,Drama,Sci-Fi</td>\n",
       "      <td>A team of explorers travel through a wormhole ...</td>\n",
       "      <td>Christopher Nolan</td>\n",
       "      <td>Matthew McConaughey, Anne Hathaway, Jessica Ch...</td>\n",
       "      <td>2014</td>\n",
       "      <td>169</td>\n",
       "      <td>8.6</td>\n",
       "      <td>1047747</td>\n",
       "      <td>187.99</td>\n",
       "      <td>74.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>The Dark Knight</th>\n",
       "      <td>55</td>\n",
       "      <td>Action,Crime,Drama</td>\n",
       "      <td>When the menace known as the Joker wreaks havo...</td>\n",
       "      <td>Christopher Nolan</td>\n",
       "      <td>Christian Bale, Heath Ledger, Aaron Eckhart,Mi...</td>\n",
       "      <td>2008</td>\n",
       "      <td>152</td>\n",
       "      <td>9.0</td>\n",
       "      <td>1791916</td>\n",
       "      <td>533.32</td>\n",
       "      <td>82.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Inception</th>\n",
       "      <td>81</td>\n",
       "      <td>Action,Adventure,Sci-Fi</td>\n",
       "      <td>A thief, who steals corporate secrets through ...</td>\n",
       "      <td>Christopher Nolan</td>\n",
       "      <td>Leonardo DiCaprio, Joseph Gordon-Levitt, Ellen...</td>\n",
       "      <td>2010</td>\n",
       "      <td>148</td>\n",
       "      <td>8.8</td>\n",
       "      <td>1583625</td>\n",
       "      <td>292.57</td>\n",
       "      <td>74.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 rank                    genre  \\\n",
       "Title                                            \n",
       "Interstellar       37   Adventure,Drama,Sci-Fi   \n",
       "The Dark Knight    55       Action,Crime,Drama   \n",
       "Inception          81  Action,Adventure,Sci-Fi   \n",
       "\n",
       "                                                       description  \\\n",
       "Title                                                                \n",
       "Interstellar     A team of explorers travel through a wormhole ...   \n",
       "The Dark Knight  When the menace known as the Joker wreaks havo...   \n",
       "Inception        A thief, who steals corporate secrets through ...   \n",
       "\n",
       "                          director  \\\n",
       "Title                                \n",
       "Interstellar     Christopher Nolan   \n",
       "The Dark Knight  Christopher Nolan   \n",
       "Inception        Christopher Nolan   \n",
       "\n",
       "                                                            actors  year  \\\n",
       "Title                                                                      \n",
       "Interstellar     Matthew McConaughey, Anne Hathaway, Jessica Ch...  2014   \n",
       "The Dark Knight  Christian Bale, Heath Ledger, Aaron Eckhart,Mi...  2008   \n",
       "Inception        Leonardo DiCaprio, Joseph Gordon-Levitt, Ellen...  2010   \n",
       "\n",
       "                 runtime  rating    votes  revenue_millions  metascore  \n",
       "Title                                                                   \n",
       "Interstellar         169     8.6  1047747            187.99       74.0  \n",
       "The Dark Knight      152     9.0  1791916            533.32       82.0  \n",
       "Inception            148     8.8  1583625            292.57       74.0  "
      ]
     },
     "execution_count": 137,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df[movies_df['rating'] >= 8.6].head(3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can make some richer conditionals by using logical operators `|` for \"or\" and `&` for \"and\".\n",
    "\n",
    "Let's filter the the DataFrame to show only movies by Christopher Nolan OR Ridley Scott:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 141,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rank</th>\n",
       "      <th>genre</th>\n",
       "      <th>description</th>\n",
       "      <th>director</th>\n",
       "      <th>actors</th>\n",
       "      <th>year</th>\n",
       "      <th>runtime</th>\n",
       "      <th>rating</th>\n",
       "      <th>votes</th>\n",
       "      <th>revenue_millions</th>\n",
       "      <th>metascore</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Title</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Prometheus</th>\n",
       "      <td>2</td>\n",
       "      <td>Adventure,Mystery,Sci-Fi</td>\n",
       "      <td>Following clues to the origin of mankind, a te...</td>\n",
       "      <td>Ridley Scott</td>\n",
       "      <td>Noomi Rapace, Logan Marshall-Green, Michael Fa...</td>\n",
       "      <td>2012</td>\n",
       "      <td>124</td>\n",
       "      <td>7.0</td>\n",
       "      <td>485820</td>\n",
       "      <td>126.46</td>\n",
       "      <td>65.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Interstellar</th>\n",
       "      <td>37</td>\n",
       "      <td>Adventure,Drama,Sci-Fi</td>\n",
       "      <td>A team of explorers travel through a wormhole ...</td>\n",
       "      <td>Christopher Nolan</td>\n",
       "      <td>Matthew McConaughey, Anne Hathaway, Jessica Ch...</td>\n",
       "      <td>2014</td>\n",
       "      <td>169</td>\n",
       "      <td>8.6</td>\n",
       "      <td>1047747</td>\n",
       "      <td>187.99</td>\n",
       "      <td>74.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>The Dark Knight</th>\n",
       "      <td>55</td>\n",
       "      <td>Action,Crime,Drama</td>\n",
       "      <td>When the menace known as the Joker wreaks havo...</td>\n",
       "      <td>Christopher Nolan</td>\n",
       "      <td>Christian Bale, Heath Ledger, Aaron Eckhart,Mi...</td>\n",
       "      <td>2008</td>\n",
       "      <td>152</td>\n",
       "      <td>9.0</td>\n",
       "      <td>1791916</td>\n",
       "      <td>533.32</td>\n",
       "      <td>82.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>The Prestige</th>\n",
       "      <td>65</td>\n",
       "      <td>Drama,Mystery,Sci-Fi</td>\n",
       "      <td>Two stage magicians engage in competitive one-...</td>\n",
       "      <td>Christopher Nolan</td>\n",
       "      <td>Christian Bale, Hugh Jackman, Scarlett Johanss...</td>\n",
       "      <td>2006</td>\n",
       "      <td>130</td>\n",
       "      <td>8.5</td>\n",
       "      <td>913152</td>\n",
       "      <td>53.08</td>\n",
       "      <td>66.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Inception</th>\n",
       "      <td>81</td>\n",
       "      <td>Action,Adventure,Sci-Fi</td>\n",
       "      <td>A thief, who steals corporate secrets through ...</td>\n",
       "      <td>Christopher Nolan</td>\n",
       "      <td>Leonardo DiCaprio, Joseph Gordon-Levitt, Ellen...</td>\n",
       "      <td>2010</td>\n",
       "      <td>148</td>\n",
       "      <td>8.8</td>\n",
       "      <td>1583625</td>\n",
       "      <td>292.57</td>\n",
       "      <td>74.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 rank                     genre  \\\n",
       "Title                                             \n",
       "Prometheus          2  Adventure,Mystery,Sci-Fi   \n",
       "Interstellar       37    Adventure,Drama,Sci-Fi   \n",
       "The Dark Knight    55        Action,Crime,Drama   \n",
       "The Prestige       65      Drama,Mystery,Sci-Fi   \n",
       "Inception          81   Action,Adventure,Sci-Fi   \n",
       "\n",
       "                                                       description  \\\n",
       "Title                                                                \n",
       "Prometheus       Following clues to the origin of mankind, a te...   \n",
       "Interstellar     A team of explorers travel through a wormhole ...   \n",
       "The Dark Knight  When the menace known as the Joker wreaks havo...   \n",
       "The Prestige     Two stage magicians engage in competitive one-...   \n",
       "Inception        A thief, who steals corporate secrets through ...   \n",
       "\n",
       "                          director  \\\n",
       "Title                                \n",
       "Prometheus            Ridley Scott   \n",
       "Interstellar     Christopher Nolan   \n",
       "The Dark Knight  Christopher Nolan   \n",
       "The Prestige     Christopher Nolan   \n",
       "Inception        Christopher Nolan   \n",
       "\n",
       "                                                            actors  year  \\\n",
       "Title                                                                      \n",
       "Prometheus       Noomi Rapace, Logan Marshall-Green, Michael Fa...  2012   \n",
       "Interstellar     Matthew McConaughey, Anne Hathaway, Jessica Ch...  2014   \n",
       "The Dark Knight  Christian Bale, Heath Ledger, Aaron Eckhart,Mi...  2008   \n",
       "The Prestige     Christian Bale, Hugh Jackman, Scarlett Johanss...  2006   \n",
       "Inception        Leonardo DiCaprio, Joseph Gordon-Levitt, Ellen...  2010   \n",
       "\n",
       "                 runtime  rating    votes  revenue_millions  metascore  \n",
       "Title                                                                   \n",
       "Prometheus           124     7.0   485820            126.46       65.0  \n",
       "Interstellar         169     8.6  1047747            187.99       74.0  \n",
       "The Dark Knight      152     9.0  1791916            533.32       82.0  \n",
       "The Prestige         130     8.5   913152             53.08       66.0  \n",
       "Inception            148     8.8  1583625            292.57       74.0  "
      ]
     },
     "execution_count": 141,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df[(movies_df['director'] == 'Christopher Nolan') | (movies_df['director'] == 'Ridley Scott')].head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We need to make sure to group evaluations with parentheses so Python knows how to evaluate the conditional.\n",
    "\n",
    "Using the `isin()` method we could make this more concise though:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 142,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rank</th>\n",
       "      <th>genre</th>\n",
       "      <th>description</th>\n",
       "      <th>director</th>\n",
       "      <th>actors</th>\n",
       "      <th>year</th>\n",
       "      <th>runtime</th>\n",
       "      <th>rating</th>\n",
       "      <th>votes</th>\n",
       "      <th>revenue_millions</th>\n",
       "      <th>metascore</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Title</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Prometheus</th>\n",
       "      <td>2</td>\n",
       "      <td>Adventure,Mystery,Sci-Fi</td>\n",
       "      <td>Following clues to the origin of mankind, a te...</td>\n",
       "      <td>Ridley Scott</td>\n",
       "      <td>Noomi Rapace, Logan Marshall-Green, Michael Fa...</td>\n",
       "      <td>2012</td>\n",
       "      <td>124</td>\n",
       "      <td>7.0</td>\n",
       "      <td>485820</td>\n",
       "      <td>126.46</td>\n",
       "      <td>65.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Interstellar</th>\n",
       "      <td>37</td>\n",
       "      <td>Adventure,Drama,Sci-Fi</td>\n",
       "      <td>A team of explorers travel through a wormhole ...</td>\n",
       "      <td>Christopher Nolan</td>\n",
       "      <td>Matthew McConaughey, Anne Hathaway, Jessica Ch...</td>\n",
       "      <td>2014</td>\n",
       "      <td>169</td>\n",
       "      <td>8.6</td>\n",
       "      <td>1047747</td>\n",
       "      <td>187.99</td>\n",
       "      <td>74.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>The Dark Knight</th>\n",
       "      <td>55</td>\n",
       "      <td>Action,Crime,Drama</td>\n",
       "      <td>When the menace known as the Joker wreaks havo...</td>\n",
       "      <td>Christopher Nolan</td>\n",
       "      <td>Christian Bale, Heath Ledger, Aaron Eckhart,Mi...</td>\n",
       "      <td>2008</td>\n",
       "      <td>152</td>\n",
       "      <td>9.0</td>\n",
       "      <td>1791916</td>\n",
       "      <td>533.32</td>\n",
       "      <td>82.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>The Prestige</th>\n",
       "      <td>65</td>\n",
       "      <td>Drama,Mystery,Sci-Fi</td>\n",
       "      <td>Two stage magicians engage in competitive one-...</td>\n",
       "      <td>Christopher Nolan</td>\n",
       "      <td>Christian Bale, Hugh Jackman, Scarlett Johanss...</td>\n",
       "      <td>2006</td>\n",
       "      <td>130</td>\n",
       "      <td>8.5</td>\n",
       "      <td>913152</td>\n",
       "      <td>53.08</td>\n",
       "      <td>66.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Inception</th>\n",
       "      <td>81</td>\n",
       "      <td>Action,Adventure,Sci-Fi</td>\n",
       "      <td>A thief, who steals corporate secrets through ...</td>\n",
       "      <td>Christopher Nolan</td>\n",
       "      <td>Leonardo DiCaprio, Joseph Gordon-Levitt, Ellen...</td>\n",
       "      <td>2010</td>\n",
       "      <td>148</td>\n",
       "      <td>8.8</td>\n",
       "      <td>1583625</td>\n",
       "      <td>292.57</td>\n",
       "      <td>74.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 rank                     genre  \\\n",
       "Title                                             \n",
       "Prometheus          2  Adventure,Mystery,Sci-Fi   \n",
       "Interstellar       37    Adventure,Drama,Sci-Fi   \n",
       "The Dark Knight    55        Action,Crime,Drama   \n",
       "The Prestige       65      Drama,Mystery,Sci-Fi   \n",
       "Inception          81   Action,Adventure,Sci-Fi   \n",
       "\n",
       "                                                       description  \\\n",
       "Title                                                                \n",
       "Prometheus       Following clues to the origin of mankind, a te...   \n",
       "Interstellar     A team of explorers travel through a wormhole ...   \n",
       "The Dark Knight  When the menace known as the Joker wreaks havo...   \n",
       "The Prestige     Two stage magicians engage in competitive one-...   \n",
       "Inception        A thief, who steals corporate secrets through ...   \n",
       "\n",
       "                          director  \\\n",
       "Title                                \n",
       "Prometheus            Ridley Scott   \n",
       "Interstellar     Christopher Nolan   \n",
       "The Dark Knight  Christopher Nolan   \n",
       "The Prestige     Christopher Nolan   \n",
       "Inception        Christopher Nolan   \n",
       "\n",
       "                                                            actors  year  \\\n",
       "Title                                                                      \n",
       "Prometheus       Noomi Rapace, Logan Marshall-Green, Michael Fa...  2012   \n",
       "Interstellar     Matthew McConaughey, Anne Hathaway, Jessica Ch...  2014   \n",
       "The Dark Knight  Christian Bale, Heath Ledger, Aaron Eckhart,Mi...  2008   \n",
       "The Prestige     Christian Bale, Hugh Jackman, Scarlett Johanss...  2006   \n",
       "Inception        Leonardo DiCaprio, Joseph Gordon-Levitt, Ellen...  2010   \n",
       "\n",
       "                 runtime  rating    votes  revenue_millions  metascore  \n",
       "Title                                                                   \n",
       "Prometheus           124     7.0   485820            126.46       65.0  \n",
       "Interstellar         169     8.6  1047747            187.99       74.0  \n",
       "The Dark Knight      152     9.0  1791916            533.32       82.0  \n",
       "The Prestige         130     8.5   913152             53.08       66.0  \n",
       "Inception            148     8.8  1583625            292.57       74.0  "
      ]
     },
     "execution_count": 142,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df[movies_df['director'].isin(['Christopher Nolan', 'Ridley Scott'])].head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's say we want all movies that were released between 2005 and 2010, have a rating above 8.0, but made below the 25th percentile in revenue.\n",
    "\n",
    "Here's how we could do all of that:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 149,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rank</th>\n",
       "      <th>genre</th>\n",
       "      <th>description</th>\n",
       "      <th>director</th>\n",
       "      <th>actors</th>\n",
       "      <th>year</th>\n",
       "      <th>runtime</th>\n",
       "      <th>rating</th>\n",
       "      <th>votes</th>\n",
       "      <th>revenue_millions</th>\n",
       "      <th>metascore</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Title</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>3 Idiots</th>\n",
       "      <td>431</td>\n",
       "      <td>Comedy,Drama</td>\n",
       "      <td>Two friends are searching for their long lost ...</td>\n",
       "      <td>Rajkumar Hirani</td>\n",
       "      <td>Aamir Khan, Madhavan, Mona Singh, Sharman Joshi</td>\n",
       "      <td>2009</td>\n",
       "      <td>170</td>\n",
       "      <td>8.4</td>\n",
       "      <td>238789</td>\n",
       "      <td>6.52</td>\n",
       "      <td>67.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>The Lives of Others</th>\n",
       "      <td>477</td>\n",
       "      <td>Drama,Thriller</td>\n",
       "      <td>In 1984 East Berlin, an agent of the secret po...</td>\n",
       "      <td>Florian Henckel von Donnersmarck</td>\n",
       "      <td>Ulrich Mühe, Martina Gedeck,Sebastian Koch, Ul...</td>\n",
       "      <td>2006</td>\n",
       "      <td>137</td>\n",
       "      <td>8.5</td>\n",
       "      <td>278103</td>\n",
       "      <td>11.28</td>\n",
       "      <td>89.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Incendies</th>\n",
       "      <td>714</td>\n",
       "      <td>Drama,Mystery,War</td>\n",
       "      <td>Twins journey to the Middle East to discover t...</td>\n",
       "      <td>Denis Villeneuve</td>\n",
       "      <td>Lubna Azabal, Mélissa Désormeaux-Poulin, Maxim...</td>\n",
       "      <td>2010</td>\n",
       "      <td>131</td>\n",
       "      <td>8.2</td>\n",
       "      <td>92863</td>\n",
       "      <td>6.86</td>\n",
       "      <td>80.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Taare Zameen Par</th>\n",
       "      <td>992</td>\n",
       "      <td>Drama,Family,Music</td>\n",
       "      <td>An eight-year-old boy is thought to be a lazy ...</td>\n",
       "      <td>Aamir Khan</td>\n",
       "      <td>Darsheel Safary, Aamir Khan, Tanay Chheda, Sac...</td>\n",
       "      <td>2007</td>\n",
       "      <td>165</td>\n",
       "      <td>8.5</td>\n",
       "      <td>102697</td>\n",
       "      <td>1.20</td>\n",
       "      <td>42.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     rank               genre  \\\n",
       "Title                                           \n",
       "3 Idiots              431        Comedy,Drama   \n",
       "The Lives of Others   477      Drama,Thriller   \n",
       "Incendies             714   Drama,Mystery,War   \n",
       "Taare Zameen Par      992  Drama,Family,Music   \n",
       "\n",
       "                                                           description  \\\n",
       "Title                                                                    \n",
       "3 Idiots             Two friends are searching for their long lost ...   \n",
       "The Lives of Others  In 1984 East Berlin, an agent of the secret po...   \n",
       "Incendies            Twins journey to the Middle East to discover t...   \n",
       "Taare Zameen Par     An eight-year-old boy is thought to be a lazy ...   \n",
       "\n",
       "                                             director  \\\n",
       "Title                                                   \n",
       "3 Idiots                              Rajkumar Hirani   \n",
       "The Lives of Others  Florian Henckel von Donnersmarck   \n",
       "Incendies                            Denis Villeneuve   \n",
       "Taare Zameen Par                           Aamir Khan   \n",
       "\n",
       "                                                                actors  year  \\\n",
       "Title                                                                          \n",
       "3 Idiots               Aamir Khan, Madhavan, Mona Singh, Sharman Joshi  2009   \n",
       "The Lives of Others  Ulrich Mühe, Martina Gedeck,Sebastian Koch, Ul...  2006   \n",
       "Incendies            Lubna Azabal, Mélissa Désormeaux-Poulin, Maxim...  2010   \n",
       "Taare Zameen Par     Darsheel Safary, Aamir Khan, Tanay Chheda, Sac...  2007   \n",
       "\n",
       "                     runtime  rating   votes  revenue_millions  metascore  \n",
       "Title                                                                      \n",
       "3 Idiots                 170     8.4  238789              6.52       67.0  \n",
       "The Lives of Others      137     8.5  278103             11.28       89.0  \n",
       "Incendies                131     8.2   92863              6.86       80.0  \n",
       "Taare Zameen Par         165     8.5  102697              1.20       42.0  "
      ]
     },
     "execution_count": 149,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df[\n",
    "    ((movies_df['year'] >= 2005) & (movies_df['year'] <= 2010))\n",
    "    & (movies_df['rating'] > 8.0)\n",
    "    & (movies_df['revenue_millions'] < movies_df['revenue_millions'].quantile(0.25))\n",
    "]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If you recall up when we used `.describe()` the 25th percentile for revenue was about 17.4, and we can access this value directly by using the `quantile()` method with a float of 0.25.\n",
    "\n",
    "So here we have only four movies that match that criteria."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Applying functions\n",
    "\n",
    "It is possible to iterate over a DataFrame or Series as you would with a list, but doing so — especially on large datasets — is very slow.\n",
    "\n",
    "An efficient alternative is to `apply()` a function to the dataset. For example, we could use a function to convert movies with an 8.0 or greater to a string value of \"good\" and the rest to \"bad\" and use this transformed values to create a new column.\n",
    "\n",
    "First we would create a function that, when given a rating, determines if it's good or bad:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 150,
   "metadata": {},
   "outputs": [],
   "source": [
    "def rating_function(x):\n",
    "    if x >= 8.0:\n",
    "        return \"good\"\n",
    "    else:\n",
    "        return \"bad\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we want to send the entire rating column through this function, which is what `apply()` does:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rank</th>\n",
       "      <th>genre</th>\n",
       "      <th>description</th>\n",
       "      <th>director</th>\n",
       "      <th>actors</th>\n",
       "      <th>year</th>\n",
       "      <th>runtime</th>\n",
       "      <th>rating</th>\n",
       "      <th>votes</th>\n",
       "      <th>revenue_millions</th>\n",
       "      <th>metascore</th>\n",
       "      <th>rating_category</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Title</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Guardians of the Galaxy</th>\n",
       "      <td>1</td>\n",
       "      <td>Action,Adventure,Sci-Fi</td>\n",
       "      <td>A group of intergalactic criminals are forced ...</td>\n",
       "      <td>James Gunn</td>\n",
       "      <td>Chris Pratt, Vin Diesel, Bradley Cooper, Zoe S...</td>\n",
       "      <td>2014</td>\n",
       "      <td>121</td>\n",
       "      <td>8.1</td>\n",
       "      <td>757074</td>\n",
       "      <td>333.13</td>\n",
       "      <td>76.0</td>\n",
       "      <td>good</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Prometheus</th>\n",
       "      <td>2</td>\n",
       "      <td>Adventure,Mystery,Sci-Fi</td>\n",
       "      <td>Following clues to the origin of mankind, a te...</td>\n",
       "      <td>Ridley Scott</td>\n",
       "      <td>Noomi Rapace, Logan Marshall-Green, Michael Fa...</td>\n",
       "      <td>2012</td>\n",
       "      <td>124</td>\n",
       "      <td>7.0</td>\n",
       "      <td>485820</td>\n",
       "      <td>126.46</td>\n",
       "      <td>65.0</td>\n",
       "      <td>bad</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         rank                     genre  \\\n",
       "Title                                                     \n",
       "Guardians of the Galaxy     1   Action,Adventure,Sci-Fi   \n",
       "Prometheus                  2  Adventure,Mystery,Sci-Fi   \n",
       "\n",
       "                                                               description  \\\n",
       "Title                                                                        \n",
       "Guardians of the Galaxy  A group of intergalactic criminals are forced ...   \n",
       "Prometheus               Following clues to the origin of mankind, a te...   \n",
       "\n",
       "                             director  \\\n",
       "Title                                   \n",
       "Guardians of the Galaxy    James Gunn   \n",
       "Prometheus               Ridley Scott   \n",
       "\n",
       "                                                                    actors  \\\n",
       "Title                                                                        \n",
       "Guardians of the Galaxy  Chris Pratt, Vin Diesel, Bradley Cooper, Zoe S...   \n",
       "Prometheus               Noomi Rapace, Logan Marshall-Green, Michael Fa...   \n",
       "\n",
       "                         year  runtime  rating   votes  revenue_millions  \\\n",
       "Title                                                                      \n",
       "Guardians of the Galaxy  2014      121     8.1  757074            333.13   \n",
       "Prometheus               2012      124     7.0  485820            126.46   \n",
       "\n",
       "                         metascore rating_category  \n",
       "Title                                               \n",
       "Guardians of the Galaxy       76.0            good  \n",
       "Prometheus                    65.0             bad  "
      ]
     },
     "execution_count": 153,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df[\"rating_category\"] = movies_df[\"rating\"].apply(rating_function)\n",
    "\n",
    "movies_df.head(2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The `.apply()` method passes every value in the `rating` column through the `rating_function` and then returns a new Series. This Series is then assigned to a new column called `rating_category`.\n",
    "\n",
    "You can also use anonymous functions as well. This lambda function achieves the same result as `rating_function`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rank</th>\n",
       "      <th>genre</th>\n",
       "      <th>description</th>\n",
       "      <th>director</th>\n",
       "      <th>actors</th>\n",
       "      <th>year</th>\n",
       "      <th>runtime</th>\n",
       "      <th>rating</th>\n",
       "      <th>votes</th>\n",
       "      <th>revenue_millions</th>\n",
       "      <th>metascore</th>\n",
       "      <th>rating_category</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Title</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Guardians of the Galaxy</th>\n",
       "      <td>1</td>\n",
       "      <td>Action,Adventure,Sci-Fi</td>\n",
       "      <td>A group of intergalactic criminals are forced ...</td>\n",
       "      <td>James Gunn</td>\n",
       "      <td>Chris Pratt, Vin Diesel, Bradley Cooper, Zoe S...</td>\n",
       "      <td>2014</td>\n",
       "      <td>121</td>\n",
       "      <td>8.1</td>\n",
       "      <td>757074</td>\n",
       "      <td>333.13</td>\n",
       "      <td>76.0</td>\n",
       "      <td>good</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Prometheus</th>\n",
       "      <td>2</td>\n",
       "      <td>Adventure,Mystery,Sci-Fi</td>\n",
       "      <td>Following clues to the origin of mankind, a te...</td>\n",
       "      <td>Ridley Scott</td>\n",
       "      <td>Noomi Rapace, Logan Marshall-Green, Michael Fa...</td>\n",
       "      <td>2012</td>\n",
       "      <td>124</td>\n",
       "      <td>7.0</td>\n",
       "      <td>485820</td>\n",
       "      <td>126.46</td>\n",
       "      <td>65.0</td>\n",
       "      <td>bad</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         rank                     genre  \\\n",
       "Title                                                     \n",
       "Guardians of the Galaxy     1   Action,Adventure,Sci-Fi   \n",
       "Prometheus                  2  Adventure,Mystery,Sci-Fi   \n",
       "\n",
       "                                                               description  \\\n",
       "Title                                                                        \n",
       "Guardians of the Galaxy  A group of intergalactic criminals are forced ...   \n",
       "Prometheus               Following clues to the origin of mankind, a te...   \n",
       "\n",
       "                             director  \\\n",
       "Title                                   \n",
       "Guardians of the Galaxy    James Gunn   \n",
       "Prometheus               Ridley Scott   \n",
       "\n",
       "                                                                    actors  \\\n",
       "Title                                                                        \n",
       "Guardians of the Galaxy  Chris Pratt, Vin Diesel, Bradley Cooper, Zoe S...   \n",
       "Prometheus               Noomi Rapace, Logan Marshall-Green, Michael Fa...   \n",
       "\n",
       "                         year  runtime  rating   votes  revenue_millions  \\\n",
       "Title                                                                      \n",
       "Guardians of the Galaxy  2014      121     8.1  757074            333.13   \n",
       "Prometheus               2012      124     7.0  485820            126.46   \n",
       "\n",
       "                         metascore rating_category  \n",
       "Title                                               \n",
       "Guardians of the Galaxy       76.0            good  \n",
       "Prometheus                    65.0             bad  "
      ]
     },
     "execution_count": 154,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df[\"rating_category\"] = movies_df[\"rating\"].apply(lambda x: 'good' if x >= 8.0 else 'bad')\n",
    "\n",
    "movies_df.head(2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Overall, using `apply()` will be much faster than iterating manually over rows because pandas is utilizing vectorization.\n",
    "\n",
    "> Vectorization: a style of computer programming where operations are applied to whole arrays instead of individual elements —[Wikipedia](https://en.wikipedia.org/wiki/Vectorization)\n",
    "\n",
    "A good example of high usage of `apply()` is during natural language processing (NLP) work. You'll need to apply all sorts of text cleaning functions to strings to prepare for machine learning."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Brief Plotting\n",
    "\n",
    "Another great thing about pandas is that it integrates with Matplotlib, so you get the ability to plot directly off DataFrames and Series. To get started we need to import Matplotlib (`pip install matplotlib`):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 169,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "plt.rcParams.update({'font.size': 20, 'figure.figsize': (10, 8)}) # set font and plot size to be larger"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we can begin. There won't be a lot of coverage on plotting, but it should be enough to explore you're data easily.\n",
    "\n",
    "**Side note:**\n",
    "For categorical variables utilize Bar Charts* and Boxplots.  For continuous variables utilize Histograms, Scatterplots, Line graphs, and Boxplots.\n",
    "\n",
    "Let's plot the relationship between ratings and revenue. All we need to do is call `.plot()` on `movies_df` with some info about how to construct the plot:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 174,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoUAAAILCAYAAACek+Z8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3Xu8XFV58PHfcy6cBAIhBkQgIFS8ohglXiAVEe1brTZUQV5rFbVe+2q9oWAptnipCvV+aRWpgNUWkdQifa2iRcQCosE3iaJVURECihKSQCA5nOSs94+9J2fOZK57Zs5czu/7+RyG2bP23mtmz2SeWWs9a0VKCUmSJM1vI72ugCRJknrPoFCSJEkGhZIkSTIolCRJEgaFkiRJwqBQkiRJGBRKGkAR8Z2ImIqIw+fwnM+IiBQRN1V57HP5Y2dVbB/Lt6eIWFbx2Cvy7d/odt27JSL+Nn8Or+51XeaDiDgif7139LouGk4GhZoXIuLCsi/n8r97IuLGiPiHiHhkr+upxiLiecCTgM+nlH7Z6/rMcx8B7gb+NiIW9roy7YqIDVX+jdgZEZvyHyJvj4glXTr38yLi7Ig4rhvHl5phUKj5Zgq4I//7LbAn8CjgL4C1EfH8HtZNDUTEKPB3wDTwnjk+/b3AT4Cfd+h4m/Pj3dKh4825lNJm4B+AA4HX97g6nbSVmX8nNgP7kv0QeSfww4h4aBfO+Tzgb4F6QeH9ZO+Z/+nC+SWDQs0716aUHpT/HQAsAJ4F3AzsAVwQEfv3soKq64+ARwDfSin9dC5PnFK6LqX0iJTSH3boeJfmx/vzThyvh87Pb1+fB+3D4JyyfyeWAnsDfwlMAgcBF/WiUimlW/L3zKN7cX4NP4NCzWsppamU0leBP8s37QWc1MMqqb5X5LcX97QW2iWl9HPge2TB0rN6XJ2uSCltTSl9nJnW6WMi4ohe1knqBoNCKXMdWZcRZN3JVUXESEScGhHfiIg7I+L+iLgtIi6OiCdUKX9VPi7pffVOHhH/lJe7pN1z5vu8Oz/e+fn9l0XEdyNia0RsiYj/ioinN7NvjTJVEyvaqXMjEfFAspbCaWB1o3pFxEQ+BuzHEbEtIm6JiA9HxL5l5Z8QEV+KiN/kZb4bEatqHLtmoknB59Mw0SQiTo6Ir+Wv4WRE3Jo/x+U1ys9KRIiIoyLikoi4IyK256/FX0fEHjX23ydPHvl+Pt52MiJuj4jvRcS5EVHrs1F6376sxdegrc9HRDwkIj4VET/Lr9+9EXFzRHwzIt4WEUtbqU8Trij7/91ei4gYjYinR8TH8tfwjrLX8N8i4vgq+zwjIhIzP0zfFbPHNO4oK1sz0aTivT8aEW+OiPURcV9E3BURX46Ix9d7chHxlIj4Sl5+a0SsjYg35J/nup95DYmUkn/+Df0fcCGQgKtqPB5kQWECPlGjzGLgyrxMIgtOtpTd3wn8RcU+r8ofuxmIGsfdA9iUl/uTds+Z7/fu/PHzgQvy/58iSwoo3/fEevvWeT0/l5c5qxOvU5PX8AX5/jc2Ua93Adfk/38fsK3s/N/JX/PnkXUHTpONGyuv7/OqHPsZ+eM3Nft6AGNlx11W8dgr8u3fqHK80bJjJmBH2Xuk9Bq+ssp+R5SVf1bZ896c71Pa/9Iq+y4hG6tWfo67KvZ7d43X/Zj88S3ASAvXtPDnA3gCcE9Z3e6vuI4JeEaL77ENtd7XFc8zAc+t8vjyivNvZ+bfldLf6RX7PAX4Tdm1uie/X/rbUO361nkPvgP4ev7/kxWv0X3AE2s8t5fl7/1S2U1k/2YksqC/5mfev+H5s6VQyhxL1nUM8IsaZT4HPA1YS/aFu1dKaTHwAOAssi/Pj0XEk8v2+SLZl9WD83NU8yyygeybgf/swDnLnQT8b+DVwOKU0j7AQ4D/Jusp+Hh0fhxYu3WuZWV+e0MTZf8SOIysZXER2Ziwk8iSRZ4EnE32Q+Ei4MCU0r7AAcB/kP1A+EgXXpdW/BVZy1ECzgT2TSktAQ4B/o3s2n0yIlbW2H8E+FfgS8Bh+fNbTPb6A5wUEf+rYp83AQ8nS8D6I2AipfQAsnG3D8/rVCvbey1ZILoPcFQLz7Odz8cHyK7ttcDjUkp75M9zEfBEZjKjO6n8Nav278Qk8AXgOWTvp4UppUXAg8iSSHYC742Io0s7pJS+nVJ6EDOt3+XjGR+UUlpGa15PFpw+n+y12Ce//yNgIfDhyh0i4kjgU2Tv/cvJ3jNLyN4zbyL7AfXsFuuhQdTrqNQ//+bijxothcA48IdkX3al1oZlVfZ/Zv74TWRf0NXOcWZe5t8rtn+Z+i2QF1OlZa7Nc5Za+xLwv6vstyx/rgk4tsa+LbcUtlPnJq7h9fl+b2miXglYWeXxd5Q9fkWVx/dmpmWn8nWZk5bCvA6l1p13VTnXKFkglIArKx47oux8X6nxGv1n/vh5FduvyLefVvAz9qN8/1e3uF/Rz8dkvv3oIvWtca6qLYVkwdVryVr+ErC+4PFL779PN/seqnF967UUTgNPrvL4k8reGwdXPPb5fPtaYLzKvmeW7WtL4RD/2VKo+ebYfPzYbyLiDrJ/5L9K1qo0DbwmpbShyn4vyW8vSNk0HNX8S3779IgYqbL9+RExVr5DROwF/HFFuU6cs+QXKaUvVG7Mn2Opxa2TmYydqHMtB+a3dzZR9tsppWuqbC8fv/feygdTSvcA383v9irD85lkQcgk8P7KB1NKO8kCd4CnRcR+NY5Ta5zev+e3lc+v1Kp2IMWUrkur+xf9fLRb33rOKPt3YiNZkP5xYALYCLy44HEvz29rtfB2wlUppe9UbkwpXU/WHQ1wZGl73iJ+Yn73QymlqSrH/ChZ97aGnEGh5ptxsm6dA4AHMvMZuIvs1/VnauxX6tp6S9mXxaw/srFqkH2h71u275fJWp/2J2ttKvcnZHMl3g5c1cFzlqyp8XwAbstvOzkZbyfqXEsp+NnURNkf1Nj+27L//2GNMnfkt12ZpLgJpWSA76eUttQocxXZj5jy8pVqXfta1/0r+e2bIuKiiHhmROzdqLJlStelVpBaS9HPR6kr+fMR8Z6IeFJEjLd47loWMfPvxAPKtn8PeERKaV2tHSNizzzJ41sR8dvIVt5JeTLJ9/JiB3WontV8r85j1a79Q5kZOvPf1XZKKW0F/l/7VVO/MyjUfPOtlFKklIJsrNRy4FKyf/jPj9qrFTwovy2NPav1V7Jn6X9SSvcBl+V3/7TiuKX7X0gpTVc8VvicZe6p8XwgayWFLFDulE7UuZZSxuz9TZT9dY3tO0u3KaXfNSjTydelFaV5Mm+rVSB/T5WCsGrzau7My1RT67pfAPwT2ffCqWRB1+Y8i/bsiHgQ9ZWO29LKJm18Pk4jG1KwD9l4x+8Ad0eWWf/qiFjQSj0qvL3s34nFZENM1pMlt/x9rZ0i4mBgHdl4x+PIrs0k8DuyHxul1tS9qh6gM1r9zJcH8bU+N5AF5hpyBoWat1JKk/kv/lOAr5ENkP9UjeKlz8qzS18WDf4qu6BLXV/PLX1ZRcQDmBm4Xtk11olz9kI361wKglppXRxkE3N5spR5Bdnn4F3At8gC8MeRJUn8LCJOqHOI0g+qjQVO3/LnIw/qjyEL2D5GNh5uD+AE4JPADyKi7Ra5lNLdKaUryFox7wBeGhGvqlH8o2Tj/n4OPBdYklJalFJ6YMqSSX4/Lxft1quD+qku6jGDQs17KaVElrG3k2xc01OrFCt1O9acw7CBK8haCfYmy0wEOJnsF/vPUkrVuvraPWdRpTnQ6rW0LK6xvZt1LrWy9Kpbd66UWjAfXKtAROzJzOtQq8WzkJTSD1JKf5NSOp4sAF8F3EjWpfrZOlnZpfo0M+azUpHPRymQvSKl9PqU0uPIWuZeQ5apfARZi11H5EHo3+R33xMRsz4DeTBbqvsLUkr/XmVc7QH0n/L3T73xmd0Yu6k+Y1AoASlbMq2UkPF3VYpcl98+r+Dxd5BNvwHwwvy21DVWrZWw7XO2ofRFVnUqjDw5pNY4tm7W+Sf57eFdOHY/+X5++4g6XbbHM/Pv9/drlGlb3pp+Odm0RgAHk01pVM1h+W3L6/IW/HxUO85dKaVPMTP1TrUfeO24gKxbfynZVC3lHsjMEIe1NfavHDNZrtQ9Ptctdz8jm6oJZloyZ8kTfh43ZzVSzxgUSjNKY4VWVll54ML89piIeCF11BmXWPpy+6PIVoY4rmJ7pU6cs4hSksaTI6Jay8ap1B4of2F+2406l7KJV7S436D5KlnixR7AWyofzFvqSkHPN1NKRVrmdhM1VjnJlWee7tatHRGHkY1NS8xcp1Y1/fnIV9ioN49kqb4d7YLPM3NL8/y9viIRp3xOxN0y1yNiGdm0NrWU9p/T4RF5NvuX87tvrMwAz72O1sb/akAZFEq5lNJaZqYsOavisf9gZjD8RZEtBbarFSciHhARfxIRlwPn1jjFNcCvyL6o/pns83dD3kpZrT6dOGcRV5ONnZoA/jUiHpyfb8+I+D9k47WqZgB3uc6lzMijW5zKZqDk0+KUppN5U2TLtS2CXYHFJWRj6aaBt3fw1N+MiI9EttTZrqEDEfFooJSVv4FsPsJKpaULf5RSKjKmEFr7fDwAuCki/ioiHl16P+TB4h+QjYmEbKxwp51HtnLLEsqCvLyruJT5e2FEPLaiTleRBc213Jjf/lETST2d9h6y1UuWA1+MiEMBImJhRLyebAqkWlNMaYgM7T+sUkGlQOXpEXFMxWMvIptnbIxsRYxfR8SmiNhCNrj+S8yMKdpNPnbx4vxuqfu1UddYW+csIm8NeR1Z0PE04Ob8fFuAT5CtAvKV2kfoWp2/QxY07E22NNgwex/Ze2OEbD7FTRFxF3ArWdf8NNlSgUVb5apZTDa29mrg3sjWv91O1nL8VLIuxhfnLUuVSqtd7DYnZrMKfD4OIwtmfgBsj4g7yRJjriBryb6JKi2t7Uop3c1MQtqb8/GdJW8ky/B9LLA2IraSvW5XkLUAvqLOoVeTBV6PAG6LiF9Hto5zR9bariel9EOyADeRTQP0q4jYRNZ6+RGyrv3SZ36y2/VR7xgUSmVSSl9nZj6uytbCrSmlVWQD779ENkXDnuSD4clWBTiJ7Iu1ls+X/f80M1+CterTiXO2LKV0KdkkyleRTXExSva6vCyl9Ope1DkPGi7I776glX0HTUppZ0rpz8gy479B9uW8iOy1/BdgRUrpvA6f9mVkQfxVwC1kU8tMAz8my6p9dErpqsqdImKCLJCYZmb4QFHNfj42kU1q/RGy1rk7yYLae8kmHz+TbOm7bk2j8mGyAHR/siUkAUgpXUs2V+dleR3HyCaM/iRZK1ytuTFJKf2W7EfYl8iez/5kyUaHdeMJVDn/p/Pzf43sB+A4WX3/kmzJxVJijS2GQyyyf2clqf9FxCFka85uIluqq9rqC5pDEfFcsvWYv5JScn3cIZR3z99K1gL7lJRS1UmuNfhsKZQ0MFJKtwLnk7WivKRBcc2N0/Lbs3tZCXXVn5EFhJupv0qSBpxBoaRB8w6ybsK3NchAVZdFxNPI1vFdnVKqt7ya+lxEvD0iXhsRyyIi8m0PiIg3kSXXAHw8pbS99lE06Ow+ljRwIuIk4DHAZ1JKt/S6PvNVRKwiSwr555TSz3tdHxUXERczMx/l/WQ/vPZlZt7ErwEnppRMNBliBoWSJM1zEfH7ZN3EK8lWL9mXLOFkHfA54LM1Ms81RAwKJUmSRLWZy9XAfvvtlw477LBeV0OSJKmhG2644c6U0v6NyhkUFnDYYYexZo0JWJIkqf9FxK+aKWf2sSRJkgwKJUmSZFAoSZIkDAolSZKEQaEkSZIwKJQkSRIGhZIkScKgUJIkSRgUSpIkCYNCSZIkYVAoSZIkDAolSZKEQaEkSZIwKJQkSRIGhZIkScKgUJIk9cDGrZOsu3UzG7dO9roqyo31ugKSJGl+uWztbZyxej3jIyNMTU9z7klHsWr5wb2u1rxnS6EkSZozG7dOcsbq9WyfmuaeyR1sn5rm9NXrbTHsAwaFkiRpzmzYtI3xkdnhx/jICBs2betRjVRiUChJkubMsiULmZqenrVtanqaZUsW9qhGKjEolCRJc2bpognOPekoFoyPsPfEGAvGRzj3pKNYumii11Wb90w0kSRJc2rV8oNZecR+bNi0jWVLFhoQ9gmDQkmSNOeWLpowGOwzdh9LkiTJoFCSJEkGhZIkScKgUJIkSRgUSpIkCYNCSZIkYVAoSZIkDAolSZKEQaEkSZIwKJQkSRIGhZIkScKgUJIkSRgUSpIkCYNCSZIkYVAoSZIkDAolSZKEQaEkSZIwKJQkSRIGhZIkScKgUJIkSRgUSpIkCYNCSZIkYVAoSZIkDAolSZKEQaEkSZIwKJQkSRIGhZIkScKgUJIkSRgUSpIkCYNCSZIkYVAoSZIkDAolSZKEQaEkSZIwKJQkSRIGhZIkScKgUJIkSRgUSpIkCYNCSZIkYVAoSZIkDAolSZKEQaEkSZIwKJQkSRIGhZIkScKgUJIkSRgUSpIkCYNCSZIk0WdBYUQ8OyKuiIgNEbEtIn4REV+MiGNqlD82Ir4SEXdFxH0RsT4i3hgRo3XO8ZyIuCoitkTE1oi4PiJe0r1nJUmS1P/6JiiMiHOA/wAeD3wV+AjwfeBE4JqIeFFF+ROBq4HjgC8BnwD2AD4EXFzjHK8DLgceDXwO+DRwEHBhRLy/889KkiRpMERKqdd1ICIeBNwG/A44KqX027LHngZcCfwypfR7+bZ9gJuAxcDKlNKafPuCvOwxwJ+mlC4uO85hwP8A9wJHp5RuzrcvAb4HPAQ4NqV0XaP6rlixIq1Zs6a9Jy1JkjQHIuKGlNKKRuX6paXwwWR1ub48IARIKX0TuAfYv2zzyfn9i0sBYV52O3BWfvcvKs7x58AE8PFSQJjvswl4T373NW0/E0mSpAHUL0Hhz4D7gSdGxH7lD0TEccDewDfKNp+Q3361yrGuBu4Djo2IiSb3+c+KMpIkSfNKXwSFKaW7gDOAA4AfRcR5EfHeiLgEuAL4OvDqsl0ent/+tMqxdgC/BMaA32tyn1+TdSsvi4g923w6kiRJA2es1xUoSSl9OCJuBj4DvLLsoZuACyu6lRfnt1tqHK60fd8W99krL3df5YMR8SrgVQCHHnpojUNIkiQNpr5oKQSIiNOBS4ELyZI+9gKOBn4BfD4izm3lcPltK1k0dfdJKZ2XUlqRUlqx//77VysiSZI0sPoiKIyI44FzgC+nlN6cUvpFSum+lNL3geeSZSafFhGl7uBSa9/i3Y8GwD4V5VrZ5+5W6y9JkjTo+iIoBJ6T336z8oGU0n3Ad8nq+rh880/y24dVlo+IMeBwYAdZKyNN7HMgWcvkhvx8kiRJ80q/BIWlLOFa/bKl7ffnt1fmt8+sUvY4YE/g2pTSZNn2evs8q6KMJEnSvNIvQeG389tXRcTB5Q9ExLOAlcB24Np886XAncALImJFWdkFwLvzu/9YcY4LgEngdflE1qV9lgBn5nc/2e4TkSRJGkT9kn18Kdk8hM8AfhwRXwJ+AzySrGs5gLellDYCpJTujohX5vtdFREXA3cBq8imnrkU+EL5CVJKv4yItwIfBdZExBfIWh5PBpYBH2hmNRNJkqRh1BdBYUppOiL+CHgt8AKy5JI9yQK9rwAfTSldUbHPv0fEU4G/Bk4CFpBNX/PmvPxuWcQppY/l0968BTiVrKX0R8BZKaWLuvT0JEmS+l5frH08aFz7WJIkDYpBW/tYkiRJPWRQKEmSJINCSZIkGRRKkiQJg0JJkiRhUChJkurYuHWSdbduZuPWycaFNdD6Yp5CSZLUfy5bextnrF7P+MgIU9PTnHvSUaxafnDjHTWQbCmUJEm72bh1kjNWr2f71DT3TO5g+9Q0p69eb4vhEDMolCRJu9mwaRvjI7PDhPGRETZs2tajGqnbDAolSdJuli1ZyNT09KxtU9PTLFuysEc1UrcZFEqSpN0sXTTBuScdxYLxEfaeGGPB+AjnnnQUSxdN9Lpq6hITTSRJUlWrlh/MyiP2Y8OmbSxbstCAcMgZFEqSpJqWLpowGJwn7D6WJEmSQaEkSZIMCiVJkoRBoSRJkjAolCRJEgaFkiRJwqBQkiRJGBRKkiQJg0JJkiRhUChJkiQMCiVJkoRBoSRJkjAolCRJEgaFkiRJwqBQkiRJGBRKkiQJg0JJkiRhUChJkiQMCiVJkoRBoSRJkjAolCRJEgaFkiRJwqBQkiRJGBRKkiQJg0JJkiRhUChJkiQMCiVJkoRBoSRJkjAolCRJEgaFkiRJwqBQkiRJGBRKkiQJg0JJkiRhUChJkiQMCiVJkoRBoSRJkjAolCRJEgaFkiRJokBQGBGPi4j/ExGLy7btFREXRcTmiLg9It7Q2WpKktR/Nm6dZN2tm9m4dbLXVZHaNlZgnzOAp6SU/qFs23uBFwNbgaXAByPixymlKzpQR0mS+s5la2/jjNXrGR8ZYWp6mnNPOopVyw/udbWkwop0H68ArirdiYhx4CXAd4EHAocDdwKv70D9JEnqOxu3TnLG6vVsn5rmnskdbJ+a5vTV620x1EArEhQ+ELi17P4KYG/gUyml7Sml24HLgKM6UD9JkvrOhk3bGB+Z/RU6PjLChk3belQjqX1FgsLE7G7n38+3fats2++A/duolyRJfWvZkoVMTU/P2jY1Pc2yJQt7VCOpfUWCwluAJ5fdPxHYkFL6Rdm2g4BN7VRMkqR+tXTRBOeedBQLxkfYe2KMBeMjnHvSUSxdNNHrqkmFFUk0uQR4R0RcCmwHjgE+XFHm0cDP26ybJEl9a9Xyg1l5xH5s2LSNZUsWGhBq4BUJCj8EPBN4Xn5/LfDO0oMR8SjgaOA9bddOkqQ+tnTRhMGghkbLQWFKaSuwMiIenW/6UUqpfGDFfcBzgTUdqJ8kSZLmQJGWQgBSSj+ssf1m4Oaix5UkSdLcc5k7SZIkFWspjIiHAm8AnggsAUarFEsppYe0UTdJkiTNkZaDwog4BvgGsBDYAdyR3+5WtL2qSZKkYbVx66SZ232mSEvhe4EJ4DXAZ1JK1QJCSZKkqlw3uj8VGVP4BODSlNJ5BoSSJKkVrhvdv4oEhfeTrWoiSZLUEteN7l9FgsJrgcd1uiKSJGn4uW50/yoSFJ4JHBsRL+50ZSRJ0nBz3ej+VSTR5ETgSuDCiHgFcAOwuUq5lFJ6VzuVkyRJw8d1o/tTpJRa2yFiunEpIAsKq81f2Oj4TwHeCBwLPAC4C/gB8OGU0lcqyh4LnAU8GVgA3AR8BvhYSmlnjeM/B3gLWRf4KHAj8A8ppYuareOKFSvSmjWu4idJkvpfRNyQUlrRqFyRlsKnFdinKRFxFvAu4E7gP4BfA/uRBXDHA18pK3sisBrYDnyBLHj8Y+BDwErg+VWO/zrgY8BG4HNkSTMnk7V6Pial9JYuPTVJkqS+1nJLYbdExPOBS8gmxn5eSumeisfHU0pT+f/vQ9YquBhYmVJak29fQNa1fQzwpymli8v2Pwz4H+Be4Oh8jWYiYgnwPeAhwLEppesa1dWWQkmSNCiabSnsi7WPI2IEOAe4D3hhZUAIUAoIcycD+wMXlwLCvMx2su5kgL+oOMSfk026/fFSQJjvswl4T373Ne09E0mSpMFUaO1jgIg4FDiVrGt3X2AL8H3gn1NKv2rxcMcChwOXApsi4tnAo8m6hr9bpfXuhPz2q1WOdTVZcHlsREyklCab2Oc/K8pIkiTNK4WCwoh4JfBRYA9mr3H8J8BZEfGGlNKnWjjkE/LbO8gCy8dUnO9q4OSU0u/yTQ/Pb39aeaCU0o6I+CVwJPB7wI+b2OfXEXEvsCwi9kwp3ddC3SVJkgZey93HEfF04JPAJPB3ZK1rj8xv303WuveJvFyzHpjfvgZYCDwD2JustfBrwHHAF8vKL85vt9Q4Xmn7vgX2WVztwYh4VUSsiYg1v/vd76oVkSRJGlhFWgrfCtxDlqzx87LtPwGuioiLyOYufCvwX00eszR1TZC1CK7L798YEc8la917akQc00wiCDOtl61k0dTdJ6V0HnAeZIkmLRxXkiSp7xVJNHkicElFQLhLvv2Leblmbcpvf1EWEJaOt42stbB0bmjQqgfsU1GulX3ublhbSZKkIVMkKFxINo9gPb/LyzXrJ/lttZVRYCZoLB2zVP5hlQUjYowsaWUH8Isq56i2z4HAXsAGxxNKkqT5qEhQ+CsaZ+k+DbilhWNeTRbEPTQi9qjy+KPz25vz2yvz22dWKXscsCdwbVnmcaN9nlVRRpIkaV4pEhR+CXhCRPxDRJQnchARiyPiI2TdvP/W7AFTSneSrUqyGPibimP+AfCHZN2/pelkLiVrrXxBRKwoK7uALNkF4B8rTnMBWXLM6/KJrEv7LAHOzO9+stk6S5IkDZMiax/vA1xHlnF8D7CObDm6BwHLybKG/wd4ckqp6fF5EfFA4BrgCODbwHeBBwPPJUv+eGFK6Ytl5f+ELDjcDlxMtszdKrKpZy4FTkkVTy4i/pJsKp2NZEFoaZm7ZcAHml3mzhVNJEnSoGh2RZNCy9xFxGLgXODPyLpqS+4DPg+8LV8ppNXjPoBsRZLnAgeTBZ3/Dbw3pfSdKuVXAn9NtqzdArKl7z4DfDSltLPGOf4YeAvweLKW0h+RrXJyUbP1NCiUJEmDoqtBYdlJxoBHkHX7bgF+UrEc3VAyKJQkSYOi2aCw8DJ3kK0eAvywnWNIkiSp94okmkiSJGnINGwpjIgryRI9XpJS2pDfb0ZKKbWy1J0kSZJ6pJnu4+PJgsI9y+43w6XgJEmSBkTDoDClNFLvviRJkgafAZ4kSZIMCiVJktRcoslxRQ+eUrq66L6SJEmaO80kmlxF8aSR0YL7SZIkaQ41ExS+EzOJJUmShloz2cdnz0E9JEmS1EMmmkiSJMmgUJIkSc0vc1eEy9xJkiQNiGaXuSvC5BRJkqQB0fIyd5IkSRo+BnySJKmwjVsnWXfrZjZunex1VQZKP75uzXQfS5Ik7eaytbdxxur1jI+MMDU9zbknHcWq5Qf3ulp9r19ft1aWuftuSml7K8veucydJEnDaePWSc7kK9k3AAAgAElEQVRYvZ7tU9NsZxqA01evZ+UR+7F00USPa9e/+vl1a2WZu0cCP6W1Ze9c5k6SpCG0YdM2xkdGdgU2AOMjI2zYtK3nwU0/6+fXrZVl7u6suC9JkuapZUsWMjU9PWvb1PQ0y5Ys7FGNBkM/v24tL3PnsneSJGnpognOPekoTq8YG9fr1q5+18+vW6Rko1+rVqxYkdasWdPrakiS1HMbt06yYdM2li1Z2BeBzaCYy9ctIm5IKa1oVM7sY0mSVNjSRRMGgwX04+tWKCiMiGXAm4DlwDJgvEqxlFJ6SBt1kyRJ0hxpOSiMiOOBrwALgB3AHfntbkXbqpkkSZLmTJGWwnPJppo5FfiXlNJ0g/KSJEnqc0WCwscA/5pS+lynKyNJkqTeKLL28Sbgrk5XRJIkSb1TJCj8D+Cpna6IJEmSeqdIUHgmsDgiPhERe3W6QpIkSZp7LY8pTCndGRHPBK4HTo2InwJbqhdNT2+3gpIkSeq+IlPSHAl8E1iSb3pcjaIulSJJkjQginQffxBYCvwN8GBgPKU0UuVvtKM1lSRJUtcUmZLmGODfUkrv7nRlJEmS1BtFWgrvB27ucD0kSZLUQ0WCwquAJ3a4HpIkqQkbt06y7tbNbNw62euqaMgU6T4+Hbg+It4GnJNSMqFEkqQ5cNna2zhj9XrGR0aYmp7m3JOOYtXyg3tdLQ2JIkHhWcAPgb8DXhkRa6k9Jc3L26mcJEnKbNw6yRmr17N9aprtTANw+ur1rDxiP5Yumuhx7TQMigSFLy37/8Pzv2oSYFAoSVIHbNi0jfGRkV0BIcD4yAgbNm0zKFRHFAkKawWBkiSpS5YtWcjU9PSsbVPT0yxbsrBHNdKwKbKiya+KnCgi9gH2TSndUmR/SZLms6WLJjj3pKM4vWJMoa2E6pQiLYVFvYlswmsntZYkqYBVyw9m5RH7sWHTNpYtWWhAqI6ay6BQkiS1aemiCYNBdUWReQolSZI0ZAwKJUmSZFAoSZIkg0JJkgaKy9ypW0w0kSRpQLjMnbrJlkJJkgZA+TJ390zuYPvUNKevXm+LoTrGoFCSpAFQWuauXGmZO6kT5jIojPxPkiS1yGXu1G1zGRReADxtDs8nSdLQKC1zt2B8hL0nxlgwPuIydy0wQaexwokmEXEU8ELgkcBeKaVn5NsPA54IfD2ltKlUPl8zudC6yZIkyWXuijJBpzmFgsKIeCdwJjMtjans4RHgX4E3Ah9rq3aSJGkWl7lrTXmCznay7vfTV69n5RH7+TpWaLn7OCJeAJwFfB1YDry3/PGU0i+ANcCqTlRQkiSpKBN0mldkTOHrgZuAE1NK64H7q5T5MfDQdiomSZLULhN0mlckKHwM8LWUUrVgsOR24IBiVZIkSeoME3SaV2RMYQDTDcocAGwvcGxJkqSOMkGnOUWCwp8Bx9Z6MCJGgd8HbixaKUmSpE4yQaexIt3HlwCPj4jTajz+V8ARwL8UrpUkSZLmVJGWwg8DzwfOjYhTyKejiYj3A08BVgDfAc7rVCUlSZLUXS23FKaUtpGtTPLPwOPJJqoO4M3A0cDngGemlHZ0sJ6SJM0b3Vh9wxU91EihyatTSluAl0bEm4EnAEuBLcB3U0q/62D9JEmaV7qx+oYreqgZhZe5A0gp3QV8rUN1kSRpXuvG6huu6KFmFUk0kSRJXdCN1Tdc0UPNarmlMCI+02TRlFJ6eavHlyRpvurG6hvDtqLHxq2TzjfYJUW6j1/a4PFElniSAINCSZKaVFp94/SK8X/tBD/dOGavODayuyKl1NoOEQ+u8dC+ZEknbweuBd6WUvpVe9XrTytWrEhr1qzpdTUkSQOsXotXN1rDBr2FbePWSVaecyXbp2ZaPReMj3DNGScM5POZSxFxQ0ppRaNyRaak+VWNv3UppfPJVjN5JvCMAvXeJSJeHBEp/3tFjTLPiYirImJLRGyNiOsj4iUNjvuSiPhuXn5Lvv9z2qmrJEmtuGztbRz7viv5009/h2PfdyVfXnvbrMeXLprgsYfs29FgpxvHhLmb6saxkd3X8USTlNKtwOXAG4oeIyIOAT4GbK1T5nX5eR5NNjfip4GDgAvzibSr7fN+4ELgwLz854DHAJfnx5Mkqas2bp3kLV9cx+SOae67fyeTO6Y57YvrBnL+wMvW3sbKc67kRedfz8pzdg9uO2nYxkb2o25lH98BPLTIjhERwAXARuCTNcocBrwfuAtYkVJ6bUrpTcBRwM+B0yLimIp9jgVOyx8/KqX0ppTSa8km3L4LeH9+XElSGSc97qwbb9/C1M7ZQ7emdiZuvH1Lj2pUTPlUN/dM7mD71DSnr17ftfdJaWzkgvER9p4YY8H4yMCOjexXbc1TWE1EjAInkE1mXcTr8/2Pz2+r+XNgAjgnpXRzaWNKaVNEvAf4J+A1wHVl+7wmv/27lNKmsn1ujohPkI2FfBnwtwXrLUlDx4H93RAtbm/eXI4bLHXnluY+hJnu3G6de9Xyg1l5xH4DPTaynxWZkua4Osc6hCywWg6cX+DYjwTeB3wkpXR1RNQKCkvbv1rlsf+sKNPsPm/PyxgUShJOetwtRx60D2MjsKOsJ3RsJNvejrkO4HvVnbt00YTvvy4p0n18FfDNKn9fBz4DHAd8G3hrKweNiDGy9ZRvAc5sUPzh+e1PKx9IKf0auBdYFhF75sfeCzgY2Jo/Xuln+e3DWqmzJA0zB/Z3x9JFE3zwlOVMjAV7jo8yMRZ88JTlbQU6c92VC3bnDqMi3cfvJJuDsNI0sIls/ePvFjju3wCPA34/pdToX5zF+W2tLuotwF55ufuaLA/ZtDpVRcSrgFcBHHrooQ2qJ0mDz4H93dPpbtBedOWC3bnDpuWgMKV0dqcrERFPJGsd/EBK6bpG5Zs5ZH7b2iSMdcqnlM4DzoNsnsKC9ZKkgTFMkx73o052g/YygLc7d3h0PNGkVWXdxj8lG9fXjC3AfmQtgBurPF4amHF3WXmYaTGs1KglUZLmJVuCBoMBvDqh50EhsIiZsXzbsxlpdvPpiPg0WQLKG4GfkAWFD2N2hjERcSBZ1/GGlNJ9ACmleyPiNuDgiDiwyrjC0vQ5u41RlKT5zpagwWAAr3YVCgoj4qlkiSRPBJZQPWElpZSaOf4k2RQy1TyebJzhf5MFgqUA8EpgJdnKKZXdzc8qK1PuSuDF+T4XNLmPJEkDwwBe7Siy9vGzgX8HRskyhW8FdlQrm1J6WluVizibbIqYV+ZL6JW2Hw78mCzL+OjSXIURsQT4HvAQ4Njy8Yn55NXXkE1e/YTSXIX5hNU3kLUuPqJ83sNaXPtYkqT2DPpazIOk2bWPi7QUng1MAc9OKV1RYP+2pZR+GRFvBT4KrImILwD3AycDy6iSsJJSujYiPgi8GVgfEZcCewD/G3gA8JfNBISSJKk9Toren4rMU/ho4Au9CghLUkofA1YBNwKnkk0X8xvgpSmlt9TY5zTgpXm5V+X73Qj8cUrp43NQbUmS5rVezKmo5hRpKdxKtlZw1+XT35xd5/HLgctbPOZFwEVtVUySJBXSqzkV1ViRlsL/Ao7pdEUkSdLwc1L0/lUkKDwDeEhEnBU15o+RJEmqxuXx+leR7uO/JRuH9w7gzyNiLbC5SrmUUnp5O5WTJKkV8yGjdRieo3Mq9qciQeFLy/7/sPyvmgQYFEqS5sR8yGht9BwHKWB0TsX+UyQoPLzjtZAkqQ3lGa2lBIbTV69n5RH7DU3g0eg59mNQPEhBqgoEhSmlX3WjIpIkFTUfMlrrPUeg74LifgxSVV+RRBNJkvrKfMhorfccSwFjufKAca45F+FgKhwURsQfR8TFEbEuIm4q2/7IiDg9Ivw5IEmaE/Mho7Xec+y3oLjdIHXj1knW3brZIHKOtdx9nE9DcyHwonzTNqD8XbcJeA8QwDlt1k+SNIS6MdZsPmS01nqOpYDx9Iru2l69Bu0EqXY7906klFrbIeK1wMeAzwCnAW8C3p5SGi0r86382Md1sK59Y8WKFWnNmjW9roYkDSS/9DP1AuOiQXM/JXZ8ee1tuwWpja7zxq2TrDznSrZPzQSUC8ZHuOaME3r+fAZZRNyQUlrRqFyR7OOXA+uAV6aUUkRUiyp/BvxhgWNLkobYfMgSbka9wLidoLmfpnkp0nI7HxKG+lmRMYUPB76Z6jcx/hbYv1iVJEnDqt8SInqhXhLGsCVoLF00wWMP2bfpgK7fxkbON0WCwh3AggZlDga2Fji2JGmI+aVfPzCe70HzfEgY6mdFuo9/BBwfEVGttTAiFgAnAP+v3cpJkoZLvyVE9EKjwHi+BM21xj/Oh4ShflUkKPxn4OPAhyLizeUPRMQo8EHgIOBt7VdPkjRs5vuXfqPAeD4EzY3GTfbT2Mj5pEj28Sjwf4H/BfwauAd4KPAl4MlkAeFlKaXndraq/cPsY0lqrN8yaPspM7dRffqtrp1khvHc61r2cUppZ0Q8BzgLeC3wsPyh5wGbgXflf5KkeapoBm0z+xUJmPpxGpx6rWHD3FJmhnH/KtJ9TEppB3B2RLyDLChcCmwB/ieltLOD9ZMkDZii0840s1+R4M5pcPrLsiUL2b5jdqiwfcfOoRw3OWjaWvs4ZX6SUro2pXSjAaEkqWgGbaP9ik7XMt8zevtR5dC1VoeyqTtaDgoj4vqI+IuIWNKNCkmSBlvRaWca7Vc0uLNlqr9s2LSNheOzOyoXjo8ZpPeBIi2FK8iyj38dEV+MiGfnySeSJO3Krp0YG2HPPUaZGGturrlGc9S1M8ehLVP9w7kq+1eRMYXLgBcDLwFOIksw+V1EfB74bEppXQfrJ0kaQKn03xS77jWj3nQ1Rec4LLVM3TO5Y9e2UsuUYwrnnnNV9q+Wp6SZtXPE0cBLgReQJZskYD1wIfAvKaXftV/F/uOUNJJUW7enHGk1+7hXU6AM87QyneDrM3eanZKm3USTG1JKfwkcSNZqeDnwKLIJrG9t59iSpMHU7cSOVtfT7cXSaZetvY2V51zJi86/npXnXMmX197WtXP12satk6y7dXPL6zO3eh3VfYWmpKmUT1HzpYj4Btnche8AxjtxbEnSYFm2ZCHbpnbM2rZtakdPx4zN5Soq82kKnH6c/1HFtR0URkSQrW7yEuBEYAFZN/J/tXtsSdJgyr4aUsX93urGhNDVukDny+TM8yn4nS8KB4UR8SiyQPBFwIOAAH4GXESWcLKhIzWUJA2UDZu2sWBslKmdM62FC8ZGhy4oqtVKNl+ya+dL8DufFJmn8HUR8T3gB8BbgT2B84HfTyk9PKX0HgNCSZq/5kNQVG8i7aWLJjhlxbJZ5U9ZsWzoAqX5cJ3nmyKJJh8FHgd8Hfgz4MCU0qtTStd2tGaSpIHUi8SOuVYvmWbj1kkuWTO7beSSNRtaTsTod/PhOs83RbqPzyTrHr6905WRJA2HuUzs6IV6rWTD1q1ab+qYVcsP5lEH7sPaWzez/JB9OeKAvXtUS3VCy0FhSul93aiIJHWTc6LNvW4kdvSLRhMw96pbtdPv80bZxWYfD5fCk1dHxP5kcxM+EtgrpfSKsu2HAz9IKQ3lQoZOXi0NFr+41C21grAvr71tt4Cx2++5Tr/PG0363atJwdW6ZievLpR9HBEvJxtbuIAs6zgBr8gfPgC4DngV8E9Fji9JneK0GeqmWq2hc9193o33eaNu8GHrJlex7OM/AM4Dfgo8F/jH8sdTSj8EbgT+pBMVlKR2dHt1DamWuVyxo933ebVVSRplF/cq+7joCipqrEj28RnAr4GnppS+DPy2Spn1ZMvdSVJPDeK0GX7pDYe5vI7tvM9rLcnXKLvY5QMzw/R5LdJ9vAK4OKV0d50yG8gmtJaknmqUENBvHP84HOb6OpbmRvzsdbfs2tbM3IiNup0bdYPP9+UDh+3zWiQo3AO4t0GZfYGdBY4tSR03KNOj9OOXnlrXi+tYa27ENzz9YXXP2cy4wEZZ5HOVZd5vYxiH8fNapPv4ZuDoBmWeBPykwLElqSvmcnxXUY5/HA69uI5FzzlIwyv6ra7D+HktEhReBjwlIp5f7cGIeBlwFLC6nYpJUicNwriffvvSG0T9cJ17cR2LnnOQViXpt7oO4+e15XkKI2IJ8H3gELLAbzHwB8AbgKcAzwN+DhydUmrUzTyQnKdQGiyDNO6nF/PbDYt+us69uI7tnHOQJnfvp7oOyue12XkKC01eHRGHAp8Fjqvy8LeBF6aUep8S1CUGhdLgGMQJdvvpS29Q9ON17sV17MY5fT/WNwivT9cmr46I44C7U0rHR8RRwDHAUmAL8J2U0g0t11aSuqTfBqc3Y5iXh+uWfrzOvbiOnT7nZWtv4/RL1zEaI+xM0/z9yY/ty5awXhqmz2uR7ONvAp8C/k9KaT3ZnISS1JeGcdyPdud17ryNWyc57ZK17JiG0oQib75k7UBn16q+IokmdwKDm1ojaV7pt8Hp6o5BvM79kBRTz423350HhDN2TGfbNZyKtBReBRzb4XpIUtcMyjyFas8gXedGSTH9MU6tVs5B67kIGgxFgsKzgOsj4l3AO1NKUx2ukyR13DCN+1Ftg3CdG0163C9Z1EcetJjx0WBq50wQOD4aHHnQ4jmvi+ZGkaDwr4AfAmcCL4+IdcBv2P2nQ0opvbzN+kmS1LeKtOjVS4oB+maVjKWLJvjA8x/LWy9dz+hIsHM68fcn93eXvNpTJCh8adn/P4jaaxwnwKBQkjSUirbo1UuK6bcs6lXLD+ZRB+7D2ls3s/yQfTnigL3nvA6aO0WCwsM7XgtJkgZIO+velpJiKic9Lu3XT1nUzUxJU6+1tD/GRqpZLQeFKaVfdaMikiQNinZb9Gq1wDUKGGHuJqhuZkqaeq2l/TI2Us0r0lIoSdK81u68iPUCpnpZ1N0ItGods96UNMc9bP+6raXQP2Mj1bwi8xRKkjSvtTMvYnkwdc/kDrZPTXP66vWz5itcumiCxx6y724thI32a1X9Y9afkqbUWlqu1Fpa7zH1L1sKJUkqoOi8iEW7nruRhLJh0zbS9OzgL00nNmza1nBKmkatpf00NlLNsaVQkoZIv6+SMWyqteg1UrTruRtL+e21xyiTO2cHhZM7E3vtMbprSpqJsRH23GOUibERPvD8x+56rvVaSwdxhRnZUihJQ8OB/f2lVkJIM8kk1RTdr57bt1Tvzr19yzaOOGDvhq2h9R4fpBVmlDEolKQh0M4UKfPFXGXtQuMAvWjA1PlAKxpub7RKTL3HB2GFGc0wKJSkIdBvkx73m7nM2m02QC8aMHUy0DryoH0YG2FWlvHYSLZd849jCiVpCHRjvNmwmOus3VoZtpXb+2H859JFE3zwlOVMjAV7jo8yMRZ88JTl/pCYp2wplKQh0I3xZt00lytddCtrt9Yx99pjlO1TswP07VPT7LXH6K773Rr/WeR17ebYP1c0GSwGhZI0JAZlYP9cJ8QsW7KQbVM7Zm3bNrWjrVbURusXT4zGrKzeidHg3vuzVUG6Nf6z0etaL0Drxtg/E58Gj93HkjREikyRMpe60ZXbjIioe79V9aZcWbZkITFScb6R2BWEdmNi50av62Vrb2PlOVfyovOvZ+U5V/Lltbe1dOxWu7l7dZ3VHlsKJUlzppmu3E53OW7YtI0FY6NM7ZxpLVwwNtp2Ek6tltlGXfndGP9Z73WF4kvOFW3t68V1VvsMCiVJc6ZRQNSNLsduJuHU6nat15XfjfGfjbqzi4ypbKebe9mShWzfsXPWtu07dnb1Oqt9dh9LkuZMvW7XbnU59mp1jXpd+auWH8w1Z5zA517xJK4544S2A6JG3dlFguJ2u7lTSlXvd7NruR8yugeZLYWSpDlVqxWtm3Mt9mMSTqeTO4p2Z9fSToLOhk3bWDg+xj2TM/svHB/bFVB24zrb+tg+g0JJ0pyrFhB1opt3rjNs+21cXJHu7HqyhJxUcb+xRtey0935rujTGXYfS5L6QrvdvO1k2BYx1+eba6UEnXKlBJ1G6l3LpYsmOOXoZbPKn7JiWVvBWzcyuucjWwolSX2jaIvWXLcUDVrLVJGu1XZbbmtdy41bJ7nkhg2zyl6yZgNvePrDCr92rujTGbYUSpL6SpG5Fue6pajb5+tkwkQziR3VzteJBJ1q17Ibr12vkomGTV+0FEbEUuC5wLOBxwAHA/cDPwAuAC5IKU1X2e9Y4CzgycAC4CbgM8DHUko7K8vn+zwHeAvwOGAUuBH4h5TSRR1+WpKkOTLXLUXdPF87K5NU0yiBp975upGg063Xrh+TiQZNv7QUPh/4NPAk4Hrgw8Bq4NHA+cAlUTG6NSJOBK4GjgO+BHwC2AP4EHBxtZNExOuAy/Pjfi4/50HAhRHx/o4/K0nSnJjrlqLS+SbGRthzj1Emxjpzvm6sTLJsyULum5rdTnLfVDZnYDOtiO2sktOtFsha+n1Fn37XFy2FwE+BVcD/LW8RjIgzge8CJwHPIwsUiYh9yAK6ncDxKaU1+fa3A1cCJ0fEC1JKF5cd6zDg/cBdwIqU0s359ncC3wNOi4jVKaXruvpMJUld0ailqNOZwqn03zQ7Q7cd3ViZZNO997Nzenb9dk4nNt17P/fev7Nr0wDNdQuk2tcXLYUppStTSpdXdhGnlH4DfDK/e3zZQycD+wMXlwLCvPx2su5kgL+oOM2fAxPAx0sBYb7PJuA9+d3XtPdMJEntamc8Xa2Wok5nCpda2CZ3JO6b2snkjtSRCZibWZmkXDNj8dbeurnm9ma6cru19rGtev2nL4LCBqby2/IZNE/Ib79apfzVwH3AsRFR/k6rt89/VpSRJDWh0ytINBO8tXrOookW9WzYtI0dO2cHUzt2TredaNKNlUmWH7Jvze2NunKLBtNOETOY+qX7uKqIGANOze+WB3MPz29/WrlPSmlHRPwSOBL4PeDHTezz64i4F1gWEXumlO7rRP0laZh1egWJZqZ5KXLOdhItapnasZMdFemPO6az7e3q9MokRxywN6cecyifve6WXdtOPeZQjjhg77rna3ftY6eIGTx9HRQC7yNLCvlKSulrZdsX57dbauxX2l7+86iZffbKyxkUSlId3Zinr1HwVvSc9QKUose8eWP1r4mbN97HisOXNv2ca6m3MsmjDtyHtbduZvkh++4K7Bp554mP4dQnH1Zzv2rna2fZwaIBrHqrb4PCiHg9cBrwP8CLW909v21l5G/dfSLiVcCrAA499NAWqyNpWPXbMmdFdXqakyLHbNS6VDRIqRegrLt1c6Fj1uuSLenGe6Od1tkjDti76SASujd5tfpXXwaFEfFa4CPAj4Cnp5TuqihSau1bTHX7VJQr/f9++T4b6+xzd7UDppTOA84DWLFiRWfSzCQNtE53n/ZKN1a7KHLMRq1L7QQptQKUosds1CXbjffGXK+iUroeb710HaMxws7UemtfN9abVvf0XVAYEW8km2vwh2QB4W+rFPsJsAJ4GHBDxf5jwOFkiSm/qNhnv3yf6yr2OZCs63iD4wklNWPQljmrpejzqBfAtfPa1GtdardLslqA0s4xa3XJduu90Y3W2UayFpDI+tJS1C884Ial1b8dfRUURsQZZOMI1wJ/kFK6s0bRK4E/A54J/GvFY8cBewJXp5QmK/ZZme9TORfhs8rKSFJD7Yy36iftPI9aAVy7r0291qVudEm2c8xqXbLdem90o3W2nplpd2bOOYg/fJoxLK3+7eqbKWnyiaffR9by9/Q6ASHApcCdwAsiYkXZMRYA787v/mPFPhcAk8Dr8omsS/ssAc7M734SSWrCsGRXtvs8qs01N4ivTSfnzOvW859ZRSXYc3yUibGo2jpba9qdVnViWplOT1nUDd147QZVXwSFEfES4J1kK5R8G3h9RJxd8ffSUvmU0t3AK8nWLr4qIs6PiHPJWhiPIQsav1B+jpTSL4G3Ag8A1kTEJyLiQ8B64CHAB1zNRFKz5npZtW7pxvPo5mvTziTU9QKUosFLt5Zxq1WfWd25zHTndmNewHaD205PGN4tzqk4I1Lqfc5ERJwN/G2DYt9KKR1fsd9K4K/JAsEFwE3AZ4CPppSqThYVEX8MvAV4PFlQ/COyVU4uara+K1asSGvWrGlcUNLQG5ZxSN14HjfdcU/LU6fUs3HrJCvPuZLtUzOByoLxEa4544SGdb5s7W2cXpYw8fcnP3ZX92CjrsNar03R/Rqpddx6zx9o+NoUqc+X196223jLym7Vasdt51rNtUGqa1ERcUNKaUWjcn0xpjCldDZwdoH9rgH+qMV9Lgcub/VcklTNsGRXdvp5dGOMVtGxehu3TnLaJWvzyaaz9oI3X7KWlUfsB9RfT7hegNYomaTIa1rvuPWe/2MP2bduwkzR69FovGWt4w7SmFvnVJzRF0GhJGl4dCv7tmh35o2331119ZEbb7+bxQvHawYvUDtg7FbQU++4jZ5/N1YmgdrBbb3jDtq4UudUzPTFmEJJ0vDo1hit4mP1ag2TSixbspBtUztmbd02tYNlSxbWfR7dCnrqHbeZ518tYaZb16PecZupa78loXQy2WhQ2VIoSeqobrYSNWrRqTa+7ciDFjM6EuycngkOR0eCIw/K1j+ICMoDx+x+cwFap7scGx23SItWvcC3GbXGIhZtuYTSGM/1u67L3588P6eA6TcGhZKGJllC9c3Vde72GK1a3Zn1xs1FRWth6f6GTdsYHQmmds4OGJsZp9etLsdGxy0yVrFW4NtIvde06HXeuHWSt3xx3azX/LQvrhvK+Q8HjUGhNM85aev8UC/7thvmeoxWowSNheNj3DM501q2cHyMDZu2sdceo7OyTgG2T02z1x6jTT2PbiUadfK4GzZtY8HYKFM7Z57/grHRphJ0Go1FbNwauPt77sbbt8wKCAGmdiZuvH0Lxz3sgW09V3/gtsegUJrHhmWpNtVXL/u2metc9It2LjOzGyVobN8xe5ay7SAH/vgAACAASURBVDt27ho3ODEaTJYFKROjwb33z5Qf9Azzot357STT1M/4rtVK2d4yev7AbZ+JJtI85qSt80O97NtGBmUC4kaBT/l4wvL7y5YsJEZmByMxEh0Z/9gviRRFE3SaCSZrvT/qveeOPGgfxiqij7EROPKgfQo/R1cl6QyDQmkeG7RpI1RU7ezbegbpi3bpoglOWbFs1rZTVixj6aIJbrx9CxUxIdMJbrx9S9dWX7ls7W0c+74r+dNPf4dj39f7YHrV8oO55owT+NwrnsQ1Z5zQVAtao9em/vuj9ntu6aIJPnjK8lnL9X3wlOUdmcqnnD9wW2f3sTSPOWnr/HDkQYsZH52dTDE+OpN9W0sz3YedXrWkGbVW0LhkzYZZ5S5Zs4E3PP1hNOqu7PT4x35NpCjSDV7vtan3/mj0nlu1/GAedeA+HXvv+AO3MwwKpXnOSVv7T6cHyy9dNMEHnv9Y3loxBUi73Yd/8+8/4LPfuWXXY6cecyjvPPExbde3nnoraFSTBShZd2V5d2Zld2Unxw12M5GiF2q9No2m7Kn3nmtn/F+1z4c/cDvDoFDSwA+kHybdGixfpGWm3hftTXfcMysgBPjsdbdw6pMPa7vVp1ZQXC8xql4W8dJFE7zwiYfOqu8Ln3RoR97z1VtK20+k6EYLbDd+bBSZsqedBLd6nw9/4LbPoFCS+kQ3s8E7vfbt2ls3Vy2/9tbNbQUx9epZr7sSYDSgvIFuNODe+3dmXcs3VO9abud1rdVS2kzLZJHjtqPTLXMlRabsaWZYQq0hAt1Yb1ozTDSRpD7RrcHy7SaMVFv+67Cle1YtW2t7J+pZr7tyrz1GqeixZWeCvfYYbft1rZZFXKul9KY77mk6kaLV4xatazvXP0uY+S/+9LzvcOz7/qtqwkyry8M1GpZQK6PZZJLus6VQkvpEtwbLtzPfXC3jY6NVEwnGx0bbqmet7aUWoFrdlRs2bWPB+MisLuQF4yPce//Otl7XWi1sjVpKG7WgFT1ukboWvf7tzm9ZOkYr4//qtQaaTNJ9BoWS1Ce6NVi+G1+my5YsrLo8XDvHbLS6CNTurqx13nbWKa4XoCw/ZN+q+5Rvr9WVWe+4RVtguxFM1Ztr8LiH7V93X6i/ik6t61gvgG207KDaZ1AoSX2kG4PluxFsduOY996/s+HqIqVzVxu71ul1ihsFKKcecyifvW722L9mxlPWO+742GjVsZGNWmC7E0wVm98SmmtlrHYdGwWwJpN0l0GhJPWZbgyW78aXaaePuWt1kbKIqJXVRdqpT7VuzkYByjtPfAynPvmwlrOE6y27BzAyEuwsew1GmngNGh2z0WtT7fkXnd8SircyNvNjw2SS7jEolKQe6PT0IM3oxpdpJ4/ZidbHWvWp15VZayxeqT7lc+1V1ueIA/YulG29oyIrpvx+SrMfq7xfS6P96r02tZ5/aa7Bkmbmt8zP3uL2Gd1qDezFZ27QGBRKmhf66QuhW3MRDpJa16MbAUG9rkyg7jQnWQiTIAXNBDTNuPH2u3c7Usq3L144zsLxMe6Z3LHrsYXjYw2TQjZs2lZov0bTvCQgpWmCERLTNY9TqZ1WRuj8Dxg/c81xShpJQ6/WFBfd1unpQXql2vNoR6N1gVud4qSRel2Z9aY5KV2ryR2J+6Z2MrkjtXStbrrjHi5dc2uV6WRqt6IVTQopul+j53/aJWu5fydM7pzm/p1ZMN3M8y+1Mk6MjbDnHqNMjI3wgec/drfJyDv5vqplED9zvWJLoaSh1s0Joevp9PQgvdLpFpZm1gVup1W3+r7FgrCikyxD/Qmo67WiFe1CL+33li+uIyJIafeu7mrqjUVsdlxgkVbfuWy5G7TPXC8ZFEoaar34QujXudZaDba6EVA3Whe4nWCh1r6NgrBTViyblUV8yoplu55fo0mWq52v0RKA5WP1qq0LXLQLfc3Nd3H/zkQpCF7zq7uaeu1qjUW8e9tU1fLl2xtdr2rdwHP9Q835DZtn97GkodaLL4R6XXKlFp0F4yPsPTHGgvGROZlrrUgXejdWkKgXaLTTzVdv33pdmRu3TnLJmt2XwCvtV+ta1TtfvQmoS1YtP5hr33YC//rKJ3Pt207YLXhrtQu9mZVQqnXXlsYiliuNRWyULFL0enVjhZl6evWZG0S2FEoaat2aELqefptrrWjLTDcC6n0W7lFzezutuo32XbX8YA5avICrf3Ynxz10P1YcvrTp/R514D67TTtTb79mJraG+skUrbbqNloJpVaLXr1rvKVGAF+6hkWvVzdWmGnE+Q2bY1Aoaeh18wuh1WW8SopmVxYZb9do+bhauhFQH3nQPoyNMGus2thIth2oO9dePY0CjfIxfh+98qZdY/yaWYe32lQ29fZbumiiqYmtb7rjnqpzHBYJfOoFoo1+FNS6xo2uVTPBXdHPR7X92u12dn7DxgwKJc0L3fhCqPfl3Y1AtGgrSTPLx9VSZNLjkmpBz9JFE3zwlOW8tSLQKnXJFp2jr16g0WiMX711eOutylEvsGk0sXWtRJSigc8RB+xdMxBdd+vm/9/eucfHVZf5//NkkkxubZpOSkKa0juXxtIKgV6oLFAsKAhVAW/VFZdFX+qiCCL621XU3R/wQ0FRdxdkd1FYWSyuoMguhVIsteVSsQXagglNa9o0pUnTpLk01+/vj+85kzOT7/c505NOziTzvF+vMuT7nXPOc25znvNcfa2hpnPMnSu/Yw4Evz8mSpLWeESUQkEQhACk8vA+kYroaKwkqbaPs3G8RY8BPvuW63sbpNaei229fq5V23J+2bc217JLWXE+5ldMQllxosucU1K7+gYDKz42RTQVi57tHPu9FNjmg94fmZqklS2IUigIghCAdFotTNa30WxvtO3jbDLaHt5tXX2sZY6Tc7QPfZOiMStWZPyud9ysFPGJFpxSzM1xSuqFp580qmNg6rDiWvS8Fr/jCQPwe7kxzQe9XtPTw1lIFVEKBUEQApAuq0WQhAA/0hEbyD2860YUa9Z4kx5McXrpSgrKy40YS9Lk5fLuc66UDacUA3yXFC7+L13HQO8BYUgpAHRcywaJY01XEW5JGEkvohQKgiAEIGiwPEfQhIBUONEPU+7hbYtVdJMeuDi9dDz0q8sKEclJVO4iKVhKuXqCXJye+/82KxkX/wec+HOVSsFwG0HjWP3qP3LLpStJS/BHlEJBEISAcDFlQR6mqZRHyRQrid/DO4eAIY/3NYd0jF2qXTI4giS3+Ckox9uVw8+i1dM/kDDX0z+QoIR+58qFuOLMqhElclxOZLkav4LhNkYTx2qr//illaf6LptJ13m2IUqhIAhCQGyKXzrrAga1kqSjrRiXMFKcn5gwUpyfWkFkPzm16znRcueX3OKnoAQ5Npyi2drZCyJK2Ff99zDebd7/wu6Uz0ew82hzF/Nu5FRLGZ3oGFhArIFhIR1NBEEQAsB1cwjasSFWEsU1Z1cnjKXichuNrKMlVjKy8wan3Lpxel5McXomOV03aO/AELr7BtE7MISb1m5Ha2cv29GDOx9+27R1gmnt7MUjLzcmrPORlxvj578gKV6xIDcSP/9Bz0fQ5dx6g1689QbddSd3CUmllJHt+HA9lYXMRZRCQRBGxfG2nJoocIpG0CD71s5e/PKP5pZr6ZI1HbiuZVNbsVhJFB87d0bC9z927gzESqK+cnJuUC6jlzsfQRVGTha/85/K+bC1pAuynFtvMJpLKMqLIJpLuPuaxQn1BE2KnVvKyIu3lJGfkhq05qQQHuI+FoQJRJAswdGQDpfkeMGvo0WQpJB0lbkJo74bV7/O5sqtLiv0icWzu0FHk9HLKYxqKEmxGVLY19aDjp5EOV06egZ8t5dKFxVbBjp3fPyKRZviX/3qAnKljLjrFcCoak4K4SBKoSBMEMZaQRtty6nxjt+DP0iwfLqUt9FmLtvasaWy3eOpX1ddVsjG4tVUTTYmsNRUTUashG8tx3XtsB2btq6+hILfANA7qFCcH8HkQvPj0x3nkpCG6wYOx0Z6u6hwpW5sx8fvfgzSJWTRjCm45uzqBLe8N5zB73oN0gJPCBdRCgVhAhCGgiYtp/wVv+MNlk9XjbpUZLU9oLnOJEHwc+UW5EbQPzhsXXJj8VyZkgx3CX+fPXMqHn1lH1y1qXbm1JRksh2bpnaze72pvQc1VaVxhc4lkqNjIwH/lzTl/lclKnl+1jfb8XG/Z1suSJcQWziDm6Djd70GbYEnhIcohYIwAQhDQZOWU5qgpUOOtwRKOmW1PaD9egYHlSGIKxcA1u1oNq5z3Y5mrKqpxNd+9Rp6PfVuUrGU8ceGz9odStJQ3b/9XtLc+d4BBbdWY6qt3ILMcW5wrkuIX89kgL9eR9MCTwgHSTQRQiHTkhPSJU/9waN4bGsj6i0dHk7UculU0GyyuA/3aG4OivIjiObmHJdVizvm3P5zc1sbWnH3urewtaH1uLbntyzH+p3N+Npj27F+Z6LC8sS2/Vh2+3O4+l83Y9ntw8H7w3Prcc19W7Ds9vUJcwDQcKgT63cdRMOhzpS3l8r8w5sbcPW/bsbDmxviY1yywKb6FuM2vOP3PL0LF9y1Afc8vStlWa5YPB03XjQP1VMLceNF8+LKmXtN5ZJ2C+cSEq6p3S0jj4c7zik+qWTtmmTlsnZ3NHWMKK6joOstcrIAfMKIewzycoBIDpCXM3wMYiVRnDOzLGG5c2aWJVjt8iOEaG4O8iMUX644P2J1g7vn4+HPnItrz5uFhz9zbvx8pPq7wl2vpuz00SY+cfdypj1bxhtiKRTGnExzG6RLnqButyDLBe0eMFpZbC4wP7hjzm2Tm1vzwIvYVK8Vunufq8d75sXw0HVLfbfntyzHqnuex58PdgEAHt26D6dVFOPpGy9Aa2cvbnx0m8e1qfDlR7fF48KG5/QX3LlYSZSVxbY9P3kAYNFt/4v2Y9oq9cqeNty17i1sv+1S7GvrMZYd2dfWg3LL9eOOz//679Dv7OMPN+zGPz+/G3W3X3Zcsuw6cBT//Pu3sf22SwEA//epnRhw1jkE4PandsbP1SULKvHTF/aMkOeSBZWs4sPtY6wkapU1VhIFJV3WpODcV/Z6i35KWHVZYUICBgAc7R1OGPnxhjq44g4C+MmGurjl9oX6xJeWF+pbUX/wKOZVTMLWPYfRN6jism3dexhXLJ7OusHnVUxKuK/ufa4+fl+5JZJsMYVAsHunuqwQXX2J+9/VN5DSS2zQftNCaoilUBhT0lkvLZPk4WqmpWM5W0bnaPbDTxavC6y7fxC9A2rUtda4bXJzWxta4w8mlxfqW7G1odX3HHPLcqzf2RxXJFzeOtiF9Tub8cyOZmPs2zM7mrHl7Rbj3Ja3W1hZuO35yfPw5oa4EubSfmwQD29uQMMh87XVcOgo6prbjXN1ze245+ldcYXQpV9py2FQWR5/tRHNHX0Jcwc6+vD4q4n1AE08/9Y71vHXG9uMc683trGy3rehzriP922oQ39yWxZ3fmAIa7ea5XXHTRY1d5yT5xcv7TUu94uX9vrcr3Y3OLecX4mkoPdOW1ef8R5o6+ozL+DA3cuZ9mwZr4ilUBhTMi05IV3ycDXTuFisoMulYz/8ZAm6TW65Oovya5PFnfvL4W7j3Ma6FuTlRlg5N9aZXaQb61pGtB7zsm7nQev4pII841z9oS6rNaSlsw9/PmhWFjbWteBgxzHr9lYuqGTl2d3SZZx74rUDmFNebJzbsvswXttvVgrXvXkIncf6jXP/va0Jey1uwN++1oS3DpjP8X++9BdMn1pknHvy9WasPmsGe672tpr38fX97fG6esk8X9cywj3ssvaPjXj7kHmdj/1pPy44zdyS78WGVmzdY1ZCX95zOC6vCb/z3N5jPuZN7cfY+/XC009Cbg4S2gu6bvANb5qV6W2NRzC/YlJa7p10/M65/58pz5bxilgKhTEl05IT0iUPVzMtHculYz/8ZAm6TW45bpvc3Pnzy41z58/3D9znluVYtaDCOn5pjXnu0poKrJhnXu+KeeWsLMvmmDNp3XFOnivPPNk4d+WZJ7PLrTrdrPisOn0als8xP/SXz4nFM3CTqakqRcVk8wO6YnIUly+sNM6549zxuWJRlXHuikVV7HqnFuUb56YW5bP7OKe8xDg3p7wEH3632WXpjnP7EfS68qvT+PFzT0kY//iSUxAribLLpeveScfvXKY9W8YrohQKYwrX6WAiyTOvYhI+tSzxR9hbM+1EL5eO/fCTJeg2ueW4bXJztbNjeM+8xAf4e+bFUDs75isntyzHygWVOK0i0cp2WkUxVi6oZNcZdD9mTzNfA+44J8+a5bNRWpDYdq20III1y2ezy120wKxMXrTgZNzyvjOMc7e87wxceNpJxrkLTzsJX7xovnHuixfNx+qzZhjlXH3WDGdfzYrY7GklWHxKmXFu8SllWH3WDJw8OVH5O3lyPlafNQMLq82KyMLqKbjh4lONczdcfCrOmWVW0s+ZNRXvO9OsoLrj3Hnmzgd3DcyrmGRc57yKSYE75fglkwW9dzhZU5HH1iknk54t4xVxHwtjTjpLbmSSPN+5ciE+tXTWcRf9DbpcOvbDT5ag2+SW47bJzT103VJsbWjFxroWnD+/POHB5CcntyzH0zdegPU7m7Fu50GsWlCBlQuGLVLcOoPsR3VZIQrychISJgrychIsIZ+/cD6+unY7lAKIgC9cOKyAbb/tUjy8uQFPvHYAV555MtYsn52wH4+/2ognX2/G5Qsr40qYt8etl+L8iC4WvfSUEYk/bru65NQjgm6b5ioS3oQJV5Fo7ew1Jmi0dvbG1zspmtglY1JUd8lo7zHHo+1oasf5p56EW9+/ADc9ug3KkeXr718AAJheZnZZu+MmtyucfTGdj66+QXT12eV0r73Z5cUJx2D2tGFF0HZdceejtbMXr+xNdFu/srctXvrIhF/IxryKSb7JZEHuHU5Wv9+QICVwhNQRpVAIheMt6ptu0iWPa+Eaq+XSsR9+sgTdJrcct01urna23UrhJye3LMfKBZUJymCq6zze/fCr7+cG2vd5lKrk2m9rls9OUAZdnti2H7f++g3k5eRgU30LcnJycMXi6fHet15Fze19yxU27h8YNJZr6R/QsX02RcIvTpVzEdri7QCKH5sBj1DusakqLTAuVVVagH1tPdZWbTa3ZCr1BFOp/2i6rrjz0dVnP3bF+RFj9nVxfoR15XL1FL330vHeO6nEI3M1Prl7OdOeLeMNUQoFQRAw9i23grSO41qncdYg7kEbtPct92Df02pO/NnT2h1XHkyKRHVZIY4NJCaFHBsYjCtTXIkUt6agKZnCt0uIxeLH9Rr2U9K5ElFBEy2qywoxlDQ2BH9FdF9bj1WZrC4rNHZmKSvOD60Xt5SWCQ9RCgVByAo4pW+sH0JBa1hycnLWIG7Z0fS+tT3YW46aM2jLisxZ2V4GktzH3r9bO3vxyCuJ5V4eebkx3nbt7msW46uPbUeEcjCohnDXVYtS6pRiwp3jejHblHRbiShXzqCJFgCglDL+7aekcsp9UV4kwRpalBeJ3yvp7MV9vL2fxQKYfiTRRBCECc8T2/bjvDufw5oHXsJ5dyZ2Fxnr+map1KI0dWXwk/PNZnNs2JvNR9llOeucTQlzY7/cJAT3n/tg52TxHofkzjRclxA9347+JKWxf1BhR5MunXPF4unYfOtKPHL9Umy+dWVCp5Rrzq5OWM5VbrkEBc76Cujr6rIfbcI3f7MDl/1oU/y68utokgqma8B1Z3tx3dnu/v/haxfh4euW4A9fu2hEpxjTPnKK3/A5JhTlRRDNpROWvKEAKDWEwUEFpYa3P9puJ8LoEEuhIAijYqzdrseLn+VhrGtn+rkOg1j0YiVRtHSarXMtncfYZavLCq3WOU4JO//Uk7B1z+GEXsNuBw0/bJbSDktc4PA434sY0AWQ6w4ejSfDAGDjH2MlUWuCQv/AoHH/+wd0TOXNa7cnzN+0djvOm1fu29FkU/0h415sqj8UvwZu8VjR7rpKXwOpWO5sMXW2feSsdoBrIyV9iJXt+NuxhSzc9Mttjqtf789Xfrktpd7PQnoRS6EgCIHhLHCZgp/lYawfQqkE9tssepycK+aZawqumDeNXZazznX0DMBER88Aa/FcMttcrmXJ7KmBu/YAYJNCAK1sXnzPRtz82Gu4+J6N+OYTrwPg4y05uNhITmHm2soBQHmJeT/KSwriymbvwBC6+wbROzCEm9Zuj1tnr6k1WzxduN6/pj7EgLdd5fBf7rp0osmwLMdjRbf9Puxo6kByQ5iBIT0upWXCRZRCQRACMV7aSvkpU2P9EOLqFHIKrJ+cXO03Xpmw9/CdXGh2Jk0uzGUtnt39yekQmu7+IWyqN3fB2FTfwm4P0Nm3eZFEa1WekzDBKZupxFualBc+9o+zWvIWzWVzYyO+Qc44p2z6tbN8Ytt+LL9jPT52/4tYfsf6lF7SuHaVQZVp73pNvw9+FmGbG3y0cAqzoBH3sSAIgci0loU2/ALwgbGvb2arU+inwHJycrXfAFgTH4ryzLXvivIimD2tBHkRSlBS8iKEmqpSFOWZW/LNihWhu9/cVg5Q6B+09AweHGJlAXQyjUlhKs6PsMrmHEvR66b2YygrzreGF7gKvDeL2FXgy4rzrdnOth6+rkUzVhLFDz+6GDev3QZCDhSG8L2rFzvn065Q7mvrGdFzuX9gKK6kDbtk9fF3XbJB2076KdMc3HonF5oTjrzjJ7q0jGQ0p4YohYIgBGI8xf6kovSlo74ZF29pqlPoF9/FyRm0L+wbThJHMm80daB2dgzfv3pRgjx3XTWchGFSGPNyI6iytI6rKi3E7kNmZTIvQr6ydPUNIpKYRIsIaQsip2xy1lAuKSRWErUq8G62881rt4OIoJTC965eFD82tjI3LrbMZc5FfqS7D0k6MQaVjn3kXLLnn6pDC0zXI3cfc0XIvZjKK3HrtSmVtn0fLZLRnDqiFAqCEIhULHCZxFgXtfWzTNgURr8OEjb8lHTbXONhc9xcuSOTTXmpLitEki6FIYV4nKKJpvZjTuzjrhFzK+ZNwyt7DhuXizptRIrzI0alqDg/gr5kjcihb2AINVWlVotnW1cfmxQC2AuNK+jOMREieMt1+xW2BuzXR1O7OWGoqf0Y3ukwz+1p7cZJlp7S7jVk254bWmCqqdhwqJMtQg7Yk4a43weubmI6GC9ejUxAYgoFQQhMumJ/OMZDXJBfvKWO/XoOH/vpi1h+x3AMGxff5V23af+D9oVdNjeGSE6iyzKSQ1g2NxaX9fIfb8K3f7sTl/94uOxKW1dfQsFjABgcUo7r1G6Z42Ifp1uUKXecK3UztdhsnZxanI9YSRRLk5Jfls6eilhJ1DcpxAZ3rtzjnZcDRHKAvBwYu8+Y4+3MrueOnj7Miplb8s2KFcUVXy+u4sttj4tT5BJtAP/ySrbfh+qyQgwm1VscVCptXobx5NUIG7EUCoIwKsbSApeJcUEmi5+fK9dWysTPouG3/1zHE64kySfOnZHwcP/Ekhm+hYS5siofWDTdapnjYh9rqkqN63TH97Z2Gef3tnZhZqzYODepIA/1B48m9BkGgBfqWx3lxb/MjQkuvi9WEsWPN9TB9R4PAvjJhrr4udrX1mNUqPX1YZcnLzdiddnHSqJWV//2xiOBQgs4JRRIrTOL7feBKwp+ohlvXo0wEaVQEIRxQZhxQTZXr01J40vA2LNLa6pKrculsv9+SqPpAc3V8OOU1GiuOS4s6lFQTPF2nIJiizVr6+pDrCTKWgODZkrbMoz94tv6Bwat8X3rdzbjzwcTFdi3DnZh/c5mrFxQydY/5JIw3JZ03mUjTmcSgHf129r1uf9vmnOLgifjJhIF7cyyr61nhJsyB/4tGUfDWCeTjVfEfSwIQsZh6+YQRqcDW7kSziXHl4+xW4L8umtw+59KiSBTFxGu7Ain3E4qMCsv7riOtyNEcijBCsQpKJzyptdtVvwmFeSipqrU6AavqSpllZeg7mPOtbr2j43GOXecW7amarKxXE1N1eSELjJF+ZGELjKA22HlBXzziR247EcvJJSkSbbEef9WSVsc/pu3onLllTj8inunq/6prU6jMIxYCgVByCiCWN9cTrR1gbPOccoU1yWjpmqytZQJYLdo+O2/n+vZlhDAlR2JlURRO7MMmzyu13NmliFWEmUtWt6ixy7ucQPsrkM/y5NfKRNKimVM/ttMMPcx51otsJTWccf93LK5SS7i3IhXgXP+m5SIlNglJLEkzb62HhTkRtA/OKyMF+Tq/sbtPebYUNdybcK9VgHg7JlT8V8v73NkIdTONBcu99LVN2jNzpZM4XARS6EgCBlDcOtbeqwLnHUulRpuJsuEW8rE20/27msW+z7wXAXNi6ugAWB7GHMJAZylrP7g0QSFEBiOxSvKMz8+ivLs1tt9bT1xBcWLq6CUFecbrX1ljtu4pqoUSdPIIT2+r60HkSRrWIR0bT/OAukq6V68Sjpgtlzn5UaMy+XlRjB9itn17I67sYFe3NjAfW09UElJGErpeEMuuYUrScO9UOy3nKv9bT3WeovuuNt9pW9wCH2DCn2Dw91XOLjsbOl9HC5iKRQEIWPws3bZYqbSZV3wq+HmV1bDZrnk4ptsllJOQXOPg0mZAPiEgJMm22LniC0IXRI1Pz72tHZj8YwpVoW5rDh/RHHr7v7BYYUgQgmWq7wIJcSaRXIIQ0kxdQDvkuQsc7GSKD6+JLFA9ceXnJLwsmHrQ5wbycGA5/rIjeSguqwQZ5xstni641xsYMOhTqNy1z8wyCrbXNYyl2jR2GZ2ZTe2dSMvYlb83UQSv97YNvwSPyRTODxEKRQEIWPwc5HaFKZ01SHze3hRTmIlZfIE/QdN+rBn+9oVNLdFXmFeLo72DrsIC/NyfbNIp1gLTRdYGepyPgAAHK9JREFU25GVl0RxeqU5bkzH6dlr7QGwlrLxs75yCQqNh82ZyW82d2DG1GKjyz4vN4LWzl784qVEK+ovXvoLvrTyVAD2TPFYSRTXnF2dYIF16/u5ZX68++kt88MVKf/t9ibjfrzR1IEV88qtx6fzmLlPtTtue6EqzjerAcX5uSkkkvi73k2FrTl5JFM4XEQpFAQhY+AeCJzClM46ZFwplyCy+rUcs3XXKC8xK2/uOJfAoV2rIzuB5OVG4v2Ek8ucdPUNWhW/0ysnsS3g7EkairVazq+YxFpfOWvgXkvyxt7WbiybW260vrmFtm1uV92Wz54p/sgriQklj7zciC+tPBWxkijuuUZnXyulC1y72dfDR8L5b1JsYDTZJ+0Z7+obtB6f1i6zy9Ydt72kXFJTibvW/XnEcpfUVLLnGEA8KSa544nrerfFsXLyAJIpHCaiFApClnCikzDShe2BwClMi2ZMCcW6YLN2BLVcckrP6ZWTjct4x20JHNVlhcjLzcGgx8qUl6tdnW1dfdZ+wpwSAth7OFeVmpXxqtJC69ziGVNQVpzPWl85C+RMizV0ZqwIDZbWeg2HOrHf4j7d39ZtzbDu6BnwdZ1u3XMYfZ75rXsPx5Ueb2ygmxTivjRwBby5os9Ti83X1dRi/iXFj+9cuRB/NX8a1u08iFULKrByQWXCfE6SRTTHcefb4lg/tXQW22/a+9KVyb9TExVRCgUhC8jEos8cpgeCXxmLdFkXuGM3mkxpE1zSR2lhPtuHlsswXTRjitXVycVGVpcVskoaYG4BxymTtlqEgL/r0ObO7ujpR6UlNrJycgGe3tlsnHt6ZzOmTzErk70DQ5jO1D7kXKecQuS6+m0vDZxCDdgVf06Z5LZXd9DcJcaNG/Ra+x7dui/B2rejqd2aufxOh9ly6VqE/V6axstL7ERDso8FYYKTSv268YBbxsKLW8bC5UTXIfNrD8ZlSl9zdnXCulwljMeuaPQPDLJ9aDlF1FagurWzd1jx827NUfz8Mr5tVJcVIskjiyFnnOuEAmjl/skvrsC3PrAAT35xRcLLC1eShqv9N6e8xDg3p7wEKyzWshXzytnWcVzWsl+9Rc7Vz7Xy4zK3OVmrywqtyT1cvKlfGzvueuXiEblMeSB9dQoFf0QpzEDGQ29XYfwwUUo8cGUs0oVfaRXbcW3t7DXGm/nd094yKMnjfn1o/Qpf2/bDT/Hz629t+72yZUKXl5gteu64rdeyexxsilhZkVlhLCvKw6qaSuPcKk/cnBc3bs7tzBLNzYn/+74TG+iWFsqPANFIDvIjiJcWSqXTR5KBLf4318qPU+68srqFrV1ZuT7VebkRJOmS8XhTP+WWOx9cj2vAfn2E+RIrz15xH2cc483NJ2Q+E6UZfBhZiVw2bFlxfqBWdlypDq4uXCqKhs2F7pfV6+d6t8V3cdngtkxoLnnFL0EnVhLFsjmxhD7Gy+bEtOLTbXYtt3X3I1YSxaeWnjIi6SG+T0yNazchJEI5GFRDI+aIchx72bB2VFZsdvW79Ra3vN1qVAq3vN2KmKWVX6w4n1XuuILpXOb6innlxnZ9xfkR32vOVYy/+tj2+PG566pF8WQrW49r7vpw9yl5H0dbSQCwZ0IDo3v2TiRXtyiFGUQ2VXKfSDdRppNuZWosz+VYZyVysXHzKuzHlYt94+AsM1fVzmAzQV1MChwXq+gtBXI8xzNoNritn25Te4/OhGZizeoPHk1QCIHhWo2cG9Rmuf3SylPR1tXnmxBhSggB7OVqtrzdanT1b3m7FZcvqmKtgQurLb2Yy4pY1zvXWo7LXOeu8eqyQla5BfjEMNu55K6PhkOd1r7Qo4HLhB7Ns3eiGXKyTikkomoA3wFwKYAYgAMAHgfwbaVUG7dsuklXrbVMY6LdROOBMJIwRgOnaI5lVqJfooXtuE4uND+EveMmq4WfZeY7Vy7EFWdWYWNdC86fX47a2THj95Pp6DHXsLONpwL3e+Vmg5vq8HGy1FSVsrFmnMVrzjRz3GB3/xBrud19yKygbapvwbtPKbPuY3uPOWt7R1M7WizuR3d8cCg54hLxcS6EwJYpHc0d7hlsuh+XzS1HDiW6rHMIWDbXaTtoucb3tfUgaQo5hJSeSZzix72obnjzHeP69rR2x6937vfBNDeaxB9uPyeiISerlEIimgtgM4CTADwB4E0A5wL4EoBLieg8pVQrs4q0MlHcfBwT8SYaL5xoZSpd59LWQSIMuALF3u8k769ff2Ob1cKvLpz3oX//C7uNSrjpodh5zGyhtI0nY1Jg/X6vFIChoSEMKQIU459NwhZrBuii2Sb0uG0bim3lxtUF5BJC2q1WX8IMy2+2O95xzGz16jg26Ntazobf/fiDjyzGzWu3g4iglEqom2hT0BoOdRpdy16r3RPb9uOra1+D2/v4e1fra9LPQ2F7ofLrCx2kGgBngZ9XMSnws3ciGnKySikE8M/QCuENSqkfuYNEdDeAGwH8E4DPhSRbVlRyn4g3USYxlq7cdJxLt5eqrYPEWGPL2nULFNvgYq38rBa22n+pKOE2hfpYcnVmB9u4F5sCGyuJ4pra6gQF1lWYWzt7ceOj2xzLlD6XX350m29dPC7WLFYSReVk8zGvnBxlOrMU4sXd5nf9xrZuLDi51Djn1ii0lYDhCjf/+6bdxnW++pc2rFxQiUtrKvDApoYR85fWVPhkZ5uzfXsHhrCvrQf9Seez3xl34w2L8yPGeoO2eptvNHUYt/dGUwdqZ8eSzjMAqPh5drdZVVpgtWw3HOqMz7nXcHIijUt3/6BvvUXbXCqxkbZrmWMiGnKyRikkojkAVgHYA+AnSdPfAnA9gE8S0U1KKbM/YQyY6JXcJ+JNlCmMtVs+lXN5vEpqKgkaQRVfLsjcRiqKL9ff2PSg9bNaAObaf36ycAr1uywuSe+46fj4FSD+5Vazwrzl7RZLIkULmi0FqJvbe7BsbixBIQSAo70D8WuKy8Au6DCv983mDrYZW7Ml3rK5XWeYDyXtyJCT9FBdVmiMGwSAgxZZ3HGbAjulKB9HLAkzR7r7reVz3lU1Gf0Dg6xVb80DL8Z7Zz+6dR/eMy+Gh65bCsD+MsFbZoFndjQbz/MzO5rx0SUzE14o7n2uPiGOzyvPvc/Ve+Sxny3uHnD/3xbOwFngWzt7rdey38vfRDPkZI1SCOAi53OdUokpZEqpo0T0B2ilcSmA9WMtnJeJXMl9It5EmUAYbnm/cxlMSeV7qQZVfLkgcw7Ofegnj22OK53iJ0tnksLU6VGYOIW61BLjmOfEotmOj19LOlNG8762Huw6YLYw7TrQYU2y2NbYZrXoNBzqRKwkyh67RouLuKWzD2dYrIFnnFyKLRYrYkNrNxbPmGJVtO58apdxuTuf2oWiPPOj1R1/eoelmPaOZjRa4gYb27qRlxsxWifzciN44k/7jMs99foBAIgrYC4v1Ldia0MrZk8rsb5McJZZAHjdYkl8vakDtcwLxZHuPqs8fqEX3P3IvaSePXMqHn1lX/z41c6cGv/eaLweE82Qk011Ck9zPkc2edTUOZ+njoEsWY1f3TPh+AmrFqHtXAatNcbVPQu6Tv8CvDyuuzD576CFrbnSKRxtXX1Gy5Qba/bMjoPG5Z7ZcdCaudk/MMgeHy6+q+GQ+fg1HDqKw5b4t8NdfTjcaZnr7MN/JWUIu7jjz+4y7+Ozuw6ycXxHLH2Bj3T1YlLU3GFlUjQSV6iSeer1A3juLXNCxHNvvYOGFrPi646/sd+cgf3G/vYRlkmXoSHdvcd0DRTnR/DKHnOe5Ct72vD4tibj3OPbmtiXiZcaDhuXc8cXWizQC30KeG+sMycMbaxriYdeRHMJRXkRRHMpXv8RsN+PXL3N4baCQzg2MITegcTfjtF6sE500fwwySZLofuqaL4bh8eNr6pEdD20ixmnnHKK6SvCcTCRraFhEKZb3nQug755c7F42xuPBFpnKu5aG1zrOHf7x+vKSqXeYJD9eOOARdE40I5FlnXvae0GLC5Z1xoYSco+dQsbb9ltVhi27D48orNGfNkcQoGlzV1BfgTKkizijnPuY07Zft6ihDxf14LZ5cXGuUHF91qeVpKPlq6R25xWko8pFoumO37EkqRypKcfc0vMWdTF0bx4Vx+vhdbt6pNjMbLnEFBqaddX6tOuz4/31lTiG4+/MSKr+b01ldbEmMUzpmBWrAj3Plc/Yu78+do9zpW5sd2PXJ1Gv98j8WANk02WQj/cO8D4q6SUul8pVauUqp02bdoYiiUI/vh1pRhrRqOkXrF4OjbfuhKPXL8Um29dGbc+Bl1nUCXMb5tB57gOGqPZjw9bLO4fXjydXdavHVlekuk2z8nKXbWgwrjcqgUVWG2RZfXi6fjEkpnGuU8smYmPnWN+4XbHP1JbbZz/SG01ux+XLzR3NLl8YSUusezHJQsqcPXZ5u1dfXY1br7kdOPczZecjr9ePss4545z+7F6cZVxbvXiKrarz7Xnmbd57Xmz8MF3m7f3wXdXs9b5SyydYNxxN6s5P5KD/AghP5KDH3xEW/W467x2dszY7cSbiGKyvqXyGxB0OfFgabJJKXRfo83BJcDkpO8Jwrgik37URqukmn7Yg64zqBLmt82gc4CuN/jsjefje1ediWdvPD+l+Ea//VizfDZKCxKtcKUFEaxZPptd1q/Nm20/Vi6oxGkViVa20yqKsXJBJfvQD7ocAKw+awZOnpwYH3ny5HysPmsGux/cckFlTdd+cMty5yPoseHctancO1csno4tX78Iaz+3HFu+nvi7w13nD123FI99diluuGgeHvvs0njSC0fQ34BUl5tIbuCgUHJNqIkKEV0H4KcA7ldKfdYw/zR0osnFSik20aS2tlZt3bo1PYIKwgQiHSVyxjL7OJVtBp0Lit9+PLy5AU+8dgBXnnky1iyfnfKy3By3H+t3NhvLnADA1oZWazmSoMsBwOOvNuLJ15tx+cJKrD5rRsr7wS0XVNZ07Qe3LHc+gh4bbp2juXfSQdD7Kps7aRHRH5VStb7fyyKlcC6AeuiSNHO9GchENAm6s0kOgGl+JWlEKRQEQRAEYbyQqlKYNe5jpdTbANYBmAXgC0nT3wZQDODnYdYoFARBEARBCItsyj4GgM9Dt7m7l4hWAtgFYAmAC6FL1fyfEGUTBEEQBEEIjayxFAJxa2EtgAehlcGbAMwFcC+AZWH2PRYEQRAEQQiTbLMUQinVCODasOUQBEEQBEHIJLLKUigIgiAIgiCYEaVQEARBEARBEKVQEARBEARBEKVQEARBEARBgCiFgiAIgiAIAkQpFARBEARBECBKoSAIgiAIggBRCgVBEARBEASIUigIgiAIgiBAlEJBEARBEAQBohQKgiAIgiAIAEgpFbYM4w4iOgRgb4gilANoCXH7mY4cHztybHjk+NiRY2NHjg2PHB87Y3VsZiqlpvl9SZTCcQgRbVVK1YYtR6Yix8eOHBseOT525NjYkWPDI8fHTqYdG3EfC4IgCIIgCKIUCoIgCIIgCKIUjlfuD1uADEeOjx05NjxyfOzIsbEjx4ZHjo+djDo2ElMoCIIgCIIgiKVQEARBEARBEKVQEARBEARBgCiF4wIiihHRdUT0ayKqJ6IeImonok1E9DdElNXnkYjuJKL1RNToHJvDRPQnIvoWEcXCli/TIKJPEpFy/l0XtjxhQkR7PMci+V9z2PJlAkT0HiL6FREdIKJe53MdEb0/bNnCgog+zVw37r/BsOUMEyK6zLlO9jm/y7uJaC0RLQtbtjAhzWeI6EUiOkpE3c7z6gYiioQun8QUZj5E9DkA/wLgAIANAP4CoALAhwCUAvgVgKtVlp5MIuoD8CqAnQDeAVAMYCmAWgBNAJYqpRrDkzBzIKIZAF4HEAFQAuBvlVIPhCtVeBDRHgBTAPzAMN2plPre2EqUWRDR3wP4LnRx3Sehf4PKAbwbwAal1C0hihcaRLQYwGrL9HsAXATgd0qpy8dOqsyBiO4EcAuAVgCPQ18/8wBcASAXwKeUUg+HJ2F4ENHPAXwS+ln1WwBdAC4GsAAZ8CwXpXAcQEQXQSs6v1NKDXnGKwG8DGAGgKuUUr8KScRQIaICpdQxw/g/AfgGgH9RSn1+7CXLLIiIADwDYDaA/wZwM0Qp3AMASqlZ4UqSeRDR1QB+CeBZAB9SSh1Nms9TSvWHIlwGQ0RboF9Kr1RK/SZsecYa57m0H8AhAGcqpd7xzF0I4DkADUqpOSGJGBpEtBrArwE0ADhXKdXijOdB32urAVyrlHowLBmz2u04XlBKPaeU+q1XIXTGmwH8q/PnBWMuWIZgUggdful8zh8rWTKcG6AtGNdCv50KghEnJOVOAN0APp6sEAKAKIQjIaJ3QSuE+wH8LmRxwmImtG7xklchBACl1AYARwH4tluboHzI+fy+qxAC8XvpH5w//27MpfKQG+bGhROC+8M8EKoUmckHnM/XQpUiAyCiMwDcAeCHSqmNjvVZ0ESJaA2AU6CV5dcAbFRKZXNM2HJoi/JjANqI6DIA7wJwDMDLSqktYQqXwXzW+fy3LL5+6gD0ATiXiMq9yg8RnQ9gErRLORupdD53G+bcsbOIaIpS6sgYyZSAKIXjGCLKBfAp58//DVOWTICIboaOkyuFjidcAf2AvyNMucLGuU4ego5F/UbI4mQildDHx0sDEV2rlPp9GAJlAOc4nweh43UXeieJaCN0yMqhsRYsUyGiQgBrAAwByNqQDKXUYSL6GoC7AewkosehYwvnQscUPoNh5TnbcBXk2YY5rzv9dAAvpl+ckYj7eHxzB/Tb+1NKqafDFiYDuBnAtwB8GVoh/F8Aq+TBhW9CJwZ8WinVE7YwGcZ/AFgJrRgWQys/9wGYBeB/iGhReKKFyknO5+cAFEIHwk+C/r15GsD5ANaGI1rGcg100tL/ZHtim1LqB9Cu0lwAfwvgVgBXA2gE8GCyWzmLeNL5/AoRTXUHnRf3b3u+VzamUnkQpXCcQkQ3ALgJwJvQmUxZj1KqUilF0A/4D0G/ef2JiM4KV7LwIKJzoa2D3xeX30iUUt92YnYPKqW6lVJvKKU+B23lKARwW7gShoZbGoOgLYLrlVKdSqkdAD4IYB+Av8r28iJJXO983heqFBkAEd0CHXrwILSFsBjA2dAu0v8kov8XnnSh8l8A/gf6mOwkovuJ6AcAtgF4P7TrHQBCCz0QpXAcQkRfAPBD6BIsFyqlDocsUkbhPOB/DWAVgBiAn4csUih43MZ/xnAQs5AabgLX+aFKER5tzudupdR274RjbXY9E+eOqVQZChEtgI7D3AfgqZDFCRUiugA6Sek3SqmvKKV2Oy9cr0K/UOwHcBMRZV32sZMsegW0V6sZ2qDzGejrZgW0mx3Q5WpCQZTCcQYRfRnAjwG8Aa0QSoFdC0qpvdCKcw0RlYctTwiUADgVwBkAjnkL60K72QHgp86YqU5fNuP+KBeHKkV4vOV82oLdXaWxcAxkGQ9Igskwbm3GDckTSqlu6DJqOdAhLVmHUmpAKfV9pdRipVShUmqyUupS6GfVYgA9AHaEJZ8kmowjnODdO6BNze/1ZnUJVqqcz2z8oe4F8G+WubOgf5Q3QSsA4lpOxHWLmrIEs4GN0BUN5hNRvlKqL2n+Xc7nnjGVKgMhogJoi88Q7PdbNhF1Pm1lZ9zx5Gsq2/kkgAIAPwuz3JMoheMEIvoHAN8B8Efo5AlxGQMgotMBHEm2mDp11r4LHTC/WSnVZlp+IuO4+Yxt7IjoNmil8GfZWryaiGoAHEi+l4hoJrQ1HgCysuuCUqqFiB4F8AnoRKW/d+eI6L0ALgHQDql6AOgEijIAT2Z7gonDCwC+COB6IrpPKbXfnSCi9wE4D7q00eaQ5AsVIpqslOpIGjsH2uDTCf2cDw1RCscBRPTX0BfKIPQNd4NuTpHAnjCroIfIpQDuckpkvA0dk1EB4K+gE02aobPfBCGZqwHcSkQboDsMHIUOAL8M+o39KQDZ3ObuKwCWAPg/Tn25l6ELE38Q+rfob8OqpZZhuAkm94cqRebwGHQXnIsB7CKiX0P/Dp8B7VomALcqpVrtq5jQPENEPdAhYEcB1EAnmfRCdw4K1TshSuH4wK1pFIEut2Li99CZXtnGs9A/xucBWARdEqILOrniIQD3ilVVsLABwGnQFtNl0PGDR6Bd6g8BeChb+4kDgFLqHSJaAm0l/CB0p46j0J06bldKhVJHLZNwisKvgCSYxFFKDRHR+wF8AcBHoa+dIgCHoY/RvUqpdSGKGDaPQR+XNdAxuU3QdS3vUErtCVEuANL7WBAEQRAEQYBkHwuCIAiCIAgQpVAQBEEQBEGAKIWCIAiCIAgCRCkUBEEQBEEQIEqhIAiCIAiCAFEKBUEQBEEQBIhSKAiCIAiCIECUQkEQhIyBiG4jIkVEF4QtiyAI2YcohYIgCGMEEX3aUfo+HbYsgiAIyYhSKAiCkDn8GLpH7MthCyIIQvYhvY8FQRAyBKVUC4CWsOUQBCE7EUuhIAiCBSKa5bh7HySiU4noUSJ6h4iGiOgCIjqbiH5IRNuJ6DARHSOiOiL6PhGVJa3reQD/4fz5H8563X+znO8YYwqdseeJqJyI7ieiA0TUS0Q7iOhai+xRZ327ne82ENE/OuPKkUcQBCGOWAoFQRD8mQvgJQB/BvCfAAoBdAC4HsAHAfwewLMAIgDOAvAVAO8joiVKqaPOOh4EcATAlQCeALDNs/4jKcgwBcAfAPQBeAxAAYCrAPw7EQ0ppX7mfpGICMCvAFwGoA7aLZ0H4NMAao5rzwVByBpEKRQEQfBnBYDblVLf8A4S0e0AvqCUGkwa/xsADwD4PIA7AUAp9aDW1XAlgMeVUg8epwyLAPwbgM+62yOiewC8BuBrAH7m+e4aaIXwBQAXK6X6nO9/E8CLx7ldQRCyBHEfC4Ig+HMQwLeTB5VSe5MVQod/h7YkXnICZegG8BXv9pRSO6Gth2cQ0STPd//a+fx7VyF0vn8EwHdPoEyCIEwgRCkUBEHwZ7tSqjd5kIjyiOiLRLTJiSkcJCIFYAjAZADTT6AMdUqpDsN4o/M5xTP2bkeGzYbvbzqBMgmCMIEQ97EgCII/zZbxR6FjCndDxwk2A3CVxy8DiJ5AGWxxhwPOZ8QzVgrgsFJqwPD9gydQJkEQJhCiFAqCIPijkgeIqBZaIXwWwPuVUv2euRwAt4ydeCPoADCViHINimFFGAIJgpD5iPtYEAQhGPOcz994FUKHc6EzlJNx4wEjhrkTyZ+gf9+XG+ZWpHnbgiCMU0QpFARBCMYe5/MC7yARnQTgJ5ZlWp3PU9IjUpyfO5//SET57iARlQL4hzRvWxCEcYq4jwVBEILxCnTm74eIaDN0AkcFgPcBeAtAk2GZLdBZxF8moqkYju/7kVKq/QTK9nMAHwVwKYA3iOg30HUKPwxgK4DToBNRBEEQ4oilUBAEIQBOaZgrAPwLgCoAN0C7Zh+ALkWT7FKGUqoNWjHbCeBa6PIw3wVQlvzdUcqmoOMdvwutDP4ddH3EnwH4gvM1UyazIAhZDOnfDkEQBCEbIKL3AlgH4A6l1NfDlkcQhMxBLIWCIAgTECKqMozFANzh/PnrsZVIEIRMR2IKBUEQJiZ3E9Ei6ALWhwBUQ8c7TgVwn1Lq5TCFEwQh8xClUBAEYWLy39CJLx+A7nZyDMAO6BZ8D4QolyAIGYrEFAqCIAiCIAgSUygIgiAIgiCIUigIgiAIgiBAlEJBEARBEAQBohQKgiAIgiAIEKVQEARBEARBgCiFgiAIgiAIAoD/D8PyJiOGNIb3AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x26613460b70>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "movies_df.plot(kind='scatter', x='rating', y='revenue_millions', title='Revenue (millions) vs Rating');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "What's with the semicolon? It's not a syntax error, just a way to hide the `<matplotlib.axes._subplots.AxesSubplot at 0x26613b5cc18>` output when plotting in Jupyter notebooks.\n",
    "\n",
    "If we want to plot a simple Histogram based on a single column, we can call plot on a column:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 175,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x26613584828>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "movies_df['rating'].plot(kind='hist', title='Rating');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Do you remember the `.describe()` example at the beginning of this tutorial? Well, there's a graphical representation of the interquartile range, called the Boxplot. Let's recall what `describe()` gives us on the ratings column:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 177,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    1000.000000\n",
       "mean        6.723200\n",
       "std         0.945429\n",
       "min         1.900000\n",
       "25%         6.200000\n",
       "50%         6.800000\n",
       "75%         7.400000\n",
       "max         9.000000\n",
       "Name: rating, dtype: float64"
      ]
     },
     "execution_count": 177,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "movies_df['rating'].describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Using a Boxplot we can visualize this data:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 178,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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7+8AS0FMAVNr27Ztn/d3gKUgpoCpdN555+Wmm27KxRdfnDvvvDMXX3xxbrrpppx33nnjHg1YYWopv6a8efPmdvDgwSX7PGB5e+xjH5u77777+O+Pecxjctddd41xImA5qap3t9Y2n+44Z6aAqTQzM5P77rsvV199dQ4fPpyrr7469913X2ZmZsY9GrDCODMFTKW1a9dmz549ufzyy4/vu+aaa7Jz584cOXJkjJMBy8WwZ6bEFDCVqiqHDx/O2WeffXzf/fffn3Xr1rnLOjASLvMBy9qaNWsyOzv7sH2zs7NZs2bNmCYCVirP5gOm0iWXXJIdO3YkSbZv357Z2dns2LEj27dvH/NkwErjMh8wtS688MLcfPPNaa2lqnLBBRfkzW9+87jHApYJl/mAZW3fvn257bbb8ra3vS2f+cxn8ra3vS233XZb9u3bN+7RgBXmjGOqqp5TVW3w8+OjHArgdHbv3p29e/dm69atWb16dbZu3Zq9e/dm9+7d4x4NWGHOKKaq6suTXJfkU6MdB2A4t956a7Zs2fKwfVu2bMmtt946pomAlWrBMVVVleQ3k9yVZPY0hwMsio0bN+bAgQMP23fgwIFs3LhxTBMBK9WZfJvvBUm+PcnTBluAJbdr16780A/9UNatW5ePfOQj2bBhQw4fPpxrr7123KMBK8yCzkxV1cYkVyW5trX29sUZCWBh3KQTGKehY6qqzkry20k+kmTnok0EMITdu3fnxhtvzO23356HHnoot99+e2688UYL0IElt5DLfD+b5ClJtrTWHhj2j6rq0iSXJsmGDRsWNh3AKViADkyKoc5MVdVTM3c26urW2jsX8gGttetba5tba5vXr19/JjMCfA4L0IFJcdqYOuHy3oeS/MyiTwQwhF27dmXbtm3Zv39/jh49mv3792fbtm3ZtWvXuEcDVpjTPk6mqh6d5BNDvt+1rbUXnupFj5MBRun888/PLbfccvz38847L+973/vGOBGwnIzycTKfTrL3FD/vGRxzYPD7gi4BApypCy+8MLfccksuu+yy3HPPPbnssstyyy235MILLxz3aMAKc9oF6IPF5vM+LqaqXpK5Remvaq29crSjAZzazTffnMsuuyy/9mu/liTHt7Oz7iUMLC0POgamUmstV1555cP2XXnlle45BSw5MQVMparKi1/84ofte/GLX5y5J14BLJ2u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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x266121fa048>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "movies_df['rating'].plot(kind=\"box\");"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<figure>\n",
    "<img src=\"https://i1.wp.com/flowingdata.com/wp-content/uploads/2008/02/box-plot-explained.gif\" />\n",
    "    <figcaption>Source: *Flowing Data*</figcaption>\n",
    "</figure>\n",
    "\n",
    "\n",
    "By combining categorical and continuous data, we can create a Boxplot of revenue that is grouped by the Rating Category we created above:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 179,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x266177cb390>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "movies_df.boxplot(column='revenue_millions', by='rating_category');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "That's the general idea of plotting with pandas. There's too many plots to mention, so definitely take a look at the `plot()` [docs here](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.plot.html) for more information on what it can do."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Wrapping up\n",
    "\n",
    "Exploring, cleaning, transforming, and visualization data with pandas in Python is an essential skill in data science. Just cleaning wrangling data is 80% of your job as a Data Scientist. After a few projects and some practice, you should be very comfortable with most of the basics.\n",
    "\n",
    "To keep improving, view the [extensive tutorials](https://pandas.pydata.org/pandas-docs/stable/tutorials.html) offered by the official pandas docs, follow along with a few [Kaggle kernels](https://www.kaggle.com/kernels), and keep working on your own projects!"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
